{"id":25541168,"url":"https://github.com/abom-me/location_map_picker","last_synced_at":"2026-01-11T13:38:25.939Z","repository":{"id":64902526,"uuid":"579295479","full_name":"abom-me/location_map_picker","owner":"abom-me","description":"Flutter Package allowed you to 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","archived":false,"fork":false,"pushed_at":"2023-08-24T07:53:58.000Z","size":117,"stargazers_count":9,"open_issues_count":1,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-25T12:53:31.781Z","etag":null,"topics":["android","flutter","google-maps","ios","location","maps","pubdev"],"latest_commit_sha":null,"homepage":"","language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/abom-me.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-12-17T07:57:35.000Z","updated_at":"2024-10-02T19:58:35.000Z","dependencies_parsed_at":"2025-02-20T06:40:14.600Z","dependency_job_id":null,"html_url":"https://github.com/abom-me/location_map_picker","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abom-me%2Flocation_map_picker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abom-me%2Flocation_map_picker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abom-me%2Flocation_map_picker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abom-me%2Flocation_map_picker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/abom-me","download_url":"https://codeload.github.com/abom-me/location_map_picker/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248442917,"owners_count":21104297,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","flutter","google-maps","ios","location","maps","pubdev"],"created_at":"2025-02-20T06:29:57.747Z","updated_at":"2026-01-11T13:38:25.931Z","avatar_url":"https://github.com/abom-me.png","language":"Dart","funding_links":[],"categories":[],"sub_categories":[],"readme":"# location_map_picker:\n\n\n###  widget to pick a location on a map with google map.\n\n------------------\n## # 👨‍💻 *Developed  by:*\n\n\u003cimg alt=\"profile\" src=\"https://abom.me/packages/profile.png\" width=\"50\" height=\"50\"  style=\" border-radius: 100%\"/\u003e\n\n**Nasr Al-Rahbi [@abom_me](https://twitter.com/abom_me)**\n\n## 👨🏻‍💻 Find me in  :\n[![Twitter](https://img.shields.io/badge/Twitter-%231DA1F2.svg?logo=Twitter\u0026logoColor=white)](https://twitter.com/abom_me)\n[![Instagram](https://img.shields.io/badge/Instagram-%23E4405F.svg?logo=Instagram\u0026logoColor=white)](https://instagram.com/abom.me)\n[![LinkedIn](https://img.shields.io/badge/LinkedIn-%230077B5.svg?logo=linkedin\u0026logoColor=white)](https://linkedin.com/in/nasr-al-rahbi-08a573245)\n[![Stack Overflow](https://img.shields.io/badge/-Stackoverflow-FE7A16?logo=stack-overflow\u0026logoColor=white)](https://stackoverflow.com/users/19994059/nasr-al-rahbi)\n\n---------------\n\u003cbr\u003e\n\n- Compatibility with Geolocator\n- Use of Google map APIs\n\n|             | Android | iOS    | Flutter Web |\n| ----------- | ------- | ------ | ----------- |\n| **Support** | SDK 20+ | iOS 9+ | Not yet         |\n\nLocation picker using the official [google_maps_flutter](https://pub.dev/packages/google_maps_flutter).\n\n\n\n## Setup\n\nPubspec changes:\n\n```\n      dependencies:\n        map_location_picker: ^0.0.7\n```\nSample example:\n\n```dart\nimport 'package:location_map_picker/location_map_picker.dart';\nMapPicker(\napiKey: \"YOUR_API_KEY\",\nonPin: (PinData? result) {\n...\n},\n);\n```\n\n## Getting Started\n\n- Get an API key at \u003chttps://cloud.google.com/maps-platform/\u003e.\n\n- And don't forget to enable the following APIs in \u003chttps://console.cloud.google.com/google/maps-apis/\u003e\n\n  - Maps SDK for Android\n  - Maps SDK for iOS\n  - Places API\n  - Geocoding API\n  - Maps JavaScript API\n\n- And ensure to enable billing for the project.\n\nFor more details, see [Getting started with Google Maps Platform](https://developers.google.com/maps/gmp-get-started).\n\n### Android\n\n1. Set the `minSdkVersion` in `android/app/build.gradle`:\n\n```groovy\nandroid {\n    defaultConfig {\n        minSdkVersion 20\n    }\n}\n```\n\nThis means that app will only be available for users that run Android SDK 20 or higher.\n\n2. Specify your API key in the application manifest `android/app/src/main/AndroidManifest.xml`:\n\n```xml\n\u003cmanifest ...\n  \u003capplication ...\n    \u003cmeta-data android:name=\"com.google.android.geo.API_KEY\"\n               android:value=\"YOUR KEY HERE\"/\u003e\n```\n\n#### Hybrid Composition\n\nTo use [Hybrid Composition](https://flutter.dev/docs/development/platform-integration/platform-views)\nto render the `GoogleMap` widget on Android, set `AndroidGoogleMapsFlutter.useAndroidViewSurface` to\ntrue.\n\n```dart\nif (defaultTargetPlatform == TargetPlatform.android) {\n  AndroidGoogleMapsFlutter.useAndroidViewSurface = true;\n}\n```\n\n### iOS\n\nTo set up, specify your API key in the application delegate `ios/Runner/AppDelegate.m`:\n\n```objectivec\n#include \"AppDelegate.h\"\n#include \"GeneratedPluginRegistrant.h\"\n#import \"GoogleMaps/GoogleMaps.h\"\n@implementation AppDelegate\n- (BOOL)application:(UIApplication *)application\n    didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {\n  [GMSServices provideAPIKey:@\"YOUR KEY HERE\"];\n  [GeneratedPluginRegistrant registerWithRegistry:self];\n  return [super application:application didFinishLaunchingWithOptions:launchOptions];\n}\n@end\n```\n\nOr in your swift code, specify your API key in the application delegate `ios/Runner/AppDelegate.swift`:\n\n```swift\nimport UIKit\nimport Flutter\nimport GoogleMaps\n@UIApplicationMain\n@objc class AppDelegate: FlutterAppDelegate {\n  override func application(\n    _ application: UIApplication,\n    didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?\n  ) -\u003e Bool {\n    GMSServices.provideAPIKey(\"YOUR KEY HERE\")\n    GeneratedPluginRegistrant.register(with: self)\n    return super.application(application, didFinishLaunchingWithOptions: launchOptions)\n  }\n}\n```\n\n### Note\n\nThe following permissions are not required to use Google Maps Android API v2, but are recommended.\n\n`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.\n\n`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.\n\n---\n\nYou 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.\n\n```xml\n\u003cuses-feature android:name=\"android.hardware.location.network\" android:required=\"false\" /\u003e\n\u003cuses-feature android:name=\"android.hardware.location.gps\" android:required=\"false\"  /\u003e\n```\n\n---\n\nThe 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:\n\n`android.permission.INTERNET` Used by the API to download map tiles from Google Maps servers.\n\n`android.permission.ACCESS_NETWORK_STATE` Allows the API to check the connection status in order to determine whether data can be downloaded.\n\n\nSee the `example` directory for a complete sample app.\n\n\n### Parameters of the MapPicker\n\n```dart\n/// Here add the starting location, this location will appear directly when entering the widget\n  /// You can leave it blank and it will use a default location\n\n   LatLng? startLocation;\n\n\n  /// Here, type the text that appears below before choosing a location, you can leave it blank\n\nString? inputText;\n\n\n  /// Here is the widget that will appear in the submit button\n  /// You can leave it blank and it will use the default send icon\n\n  Widget? sendBtnIcon = const Icon(Icons.send);\n\n\n  ///Here is the text color of the text box, it is black by default\n  Color? textInputColor;\n\n\n\n  /// Here is the icon that appears next to the text box for the position name, at the bottom\n  Widget? inputIcon;\n\n\n\n  /// This String is required and mandatory, here  type your API key from Google Cloud\n \n  final String apiKey;\n\n\n  /// Here is the text that will appear in the search box at the top\n  /// default phrase (Search For A Place)\n\n   String? searchBoxHintText;\n\n\n  /// Here is the language of the map and the name of the places, just type the language code\n  /// For example: for Arabic (ar) for English (en)\n  /// You can leave it blank and it will be in English by default\n  String? mapLanguage;\n\n\n  ///Here is type of the map, if it is normal, satellite, etc\n  MapType? mapType;\n\n\n  /// Here comes the data after selecting the location, including the name of the place and its LatLng\n  final void Function(PinData pinData) onPin;\n\n```\n## Real Example:\n\n![Video Example](https://s9.gifyu.com/images/RPReplay_Final1671293028_AdobeExpress.gif)\n\n## 👨🏻‍💻 Follow me  :\n[![Twitter](https://img.shields.io/badge/Twitter-%231DA1F2.svg?logo=Twitter\u0026logoColor=white)](https://twitter.com/abom_me)\n\n[![Instagram](https://img.shields.io/badge/Instagram-%23E4405F.svg?logo=Instagram\u0026logoColor=white)](https://instagram.com/abom.me)\n\n[![LinkedIn](https://img.shields.io/badge/LinkedIn-%230077B5.svg?logo=linkedin\u0026logoColor=white)](https://linkedin.com/in/nasr-al-rahbi-08a573245)\n\n[![Stack Overflow](https://img.shields.io/badge/-Stackoverflow-FE7A16?logo=stack-overflow\u0026logoColor=white)](https://stackoverflow.com/users/19994059/nasr-al-rahbi)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabom-me%2Flocation_map_picker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fabom-me%2Flocation_map_picker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabom-me%2Flocation_map_picker/lists"}