Pick Location From The map and search about any place in google map and get the output and it's the place name and LatLng using Google map and Geolocator
Package selection guidance compiled from public package information, community data, and project usage.
A Flutter package that enables users to pick a location from Google Maps directly within the app. It integrates Google Maps with geolocation services, allowing users to search for places and retrieve precise details such as place name and LatLng coordinates. Built using the Geolocator plugin, it supports seamless map interaction and address resolution. Ideal for apps requiring accurate location input through an intuitive map interface.
Use cases
Map-based location selection
Address search with autocomplete
Geocoding via Google Maps
Location sharing in forms
Real-time location tracking
User onboarding with location input
Key features
Interactive Google Maps integration
Place name and LatLng output
Searchable location input
Geolocator-powered geocoding
Simple API for map interaction
Responsive UI for mobile
Suitable for
Travel and delivery apps
Event registration platforms
Delivery and logistics systems
Social media with location tagging
User profile setup with location
Apps needing accurate geolocation data
Considerations
Requires internet access for Google Maps
Needs API key for Google Maps
Limited to Android and iOS (no web support)
Dependent on Geolocator plugin
Potential performance impact on low-end devices
Privacy considerations with location data
Original README
Original README snapshot from the linked source repository. Visit the repository for the latest content.
location_map_picker:
widget to pick a location on a map with google map.
The following permissions are not required to use Google Maps Android API v2, but are recommended.
android.permission.ACCESS_COARSE_LOCATION Allows the API to use WiFi or mobile cell data (or both) to determine the device's location. The API returns the location with an accuracy approximately equivalent to a city block.
android.permission.ACCESS_FINE_LOCATION Allows the API to determine as precise a location as possible from the available location providers, including the Global Positioning System (GPS) as well as WiFi and mobile cell data.
You must also explicitly declare that your app uses the android.hardware.location.network or android.hardware.location.gps hardware features if your app targets Android 5.0 (API level 21) or higher and uses the ACCESS_COARSE_LOCATION or ACCESS_FINE_LOCATION permission in order to receive location updates from the network or a GPS, respectively.
The following permissions are defined in the package manifest, and are automatically merged into your app's manifest at build time. You don't need to add them explicitly to your manifest:
android.permission.INTERNET Used by the API to download map tiles from Google Maps servers.
android.permission.ACCESS_NETWORK_STATE Allows the API to check the connection status in order to determine whether data can be downloaded.
See the example directory for a complete sample app.
Parameters of the MapPicker
/// Here add the starting location, this location will appear directly when entering the widget/// You can leave it blank and it will use a default locationLatLng? startLocation;
/// Here, type the text that appears below before choosing a location, you can leave it blankString? inputText;
/// Here is the widget that will appear in the submit button/// You can leave it blank and it will use the default send iconWidget? sendBtnIcon = constIcon(Icons.send);
///Here is the text color of the text box, it is black by defaultColor? textInputColor;
/// Here is the icon that appears next to the text box for the position name, at the bottomWidget? inputIcon;
/// This String is required and mandatory, here type your API key from Google CloudfinalString apiKey;
/// Here is the text that will appear in the search box at the top/// default phrase (Search For A Place)String? searchBoxHintText;
/// Here is the language of the map and the name of the places, just type the language code/// For example: for Arabic (ar) for English (en)/// You can leave it blank and it will be in English by defaultString? mapLanguage;
///Here is type of the map, if it is normal, satellite, etcMapType? mapType;
/// Here comes the data after selecting the location, including the name of the place and its LatLngfinalvoidFunction(PinData pinData) onPin;