Skip to content

Pidsamhai/location_picker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Flutter Location Picker

using Longdo Map reverse geocode

only Thailand

Art

class Home extends StatelessWidget {
  const Home({super.key});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text("Location Picker"),
      ),
      body: LocationPickerWidget(
        // https://map.longdo.com/console/
        apiKey: "API-KEY",
        searchIcon: const Icon(Icons.search_rounded),
        customCoordinate: true,
        positionIcon: const Icon(
          Icons.add,
          color: Colors.pink,
        ),
        locale: "en", // en, th
        onSelected: (reverseGeoCode, latLng) {
          showDialog(
            context: context,
            builder: (_) {
              return AlertDialog(
                title: const Text("Location"),
                content: Column(
                  mainAxisSize: MainAxisSize.min,
                  crossAxisAlignment: CrossAxisAlignment.start,
                  children: [
                    Text("Location: $reverseGeoCode"),
                    const SizedBox.square(dimension: 8),
                    Text("Coordinate: ${latLng.latitude},${latLng.longitude}")
                  ],
                ),
                actions: [
                  TextButton(
                    onPressed: Navigator.of(context).pop,
                    child: const Text("OK"),
                  )
                ],
              );
            },
          );
        },
      ),
    );
  }
}

Permission

Ios Info.plist

<key>NSLocationAlwaysAndWhenInUseUsageDescription</key>
<string>App need to access to your location</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string>App need to access to your location</string>

Android Info.plist

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.INTERNET"/>

Depencies

dio: 
dio_logging_interceptor:
flutter_map:
freezed_annotation: 
geolocator: 
latlong2: 
rxdart: