0

I have a json file in Flutter which includes x,y coordinates for each place listed. When I click on the ListTile, I'd like to go to the address on Google Maps that matches with the JSON coordinates. In my JSON file, I have attributes named 'location_x' and 'location_y' which are coordinates for particular locations. Here's my code so far:

void onTouch() {
    print('Home Clicked');
    Navigator.pop(context);
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text('Farmers\' Market Finder'),
      ),
      body: Column(
        children: [
          Padding(
            padding: const EdgeInsets.all(8.0),
            child: ElevatedButton(
              onPressed: readJsonFile,
              child: const Text('Nearby Markets'),
            ),
          ),
          if (_farmersMarkets.isNotEmpty)
            Expanded(
              child: ListView.builder(
                itemCount: _farmersMarkets.length,
                itemBuilder: (BuildContext context, index) {
                  return Card(
                    margin: const EdgeInsets.all(15),
                    color: const Color.fromARGB(255, 243, 186, 54),
                    child: ListTile(
                      title: Text(_farmersMarkets[index]['listing_name']),
                      subtitle:
                          Text(_farmersMarkets[index]['location_address']),
                      onTap: onTouch,
                    ), 

1 Answer 1

1

You could use maps_launcher to open the map with the lat and lng.

Example :

import 'package:maps_launcher/maps_launcher.dart';

MapsLauncher.launchQuery('1600 Amphitheatre Pkwy, Mountain View, CA 94043, USA');

MapsLauncher.launchCoordinates(37.4220041, -122.0862462);
1
  • 1
    Great suggestion! I tried it and it worked, but now I need to figure out how to point to a specific address located in my json file for each Card clicked.
    – Smiles4U
    Commented Sep 9, 2022 at 14:43

Not the answer you're looking for? Browse other questions tagged or ask your own question.