{"id":16989057,"url":"https://github.com/blackmann/locationpicker","last_synced_at":"2025-10-10T06:02:22.473Z","repository":{"id":34985736,"uuid":"189711878","full_name":"blackmann/locationpicker","owner":"blackmann","description":"Location picker for Flutter.","archived":false,"fork":false,"pushed_at":"2024-08-14T03:12:07.000Z","size":1243,"stargazers_count":169,"open_issues_count":32,"forks_count":160,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-10-15T03:05:22.897Z","etag":null,"topics":["dart","flutter","maps"],"latest_commit_sha":null,"homepage":null,"language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/blackmann.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":"2019-06-01T08:59:54.000Z","updated_at":"2024-09-17T09:35:25.000Z","dependencies_parsed_at":"2024-06-18T22:32:21.206Z","dependency_job_id":"cdd2b6b1-692d-4e7b-bff2-e02466ab1b70","html_url":"https://github.com/blackmann/locationpicker","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/blackmann%2Flocationpicker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blackmann%2Flocationpicker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blackmann%2Flocationpicker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blackmann%2Flocationpicker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/blackmann","download_url":"https://codeload.github.com/blackmann/locationpicker/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247249529,"owners_count":20908212,"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":["dart","flutter","maps"],"created_at":"2024-10-14T03:05:19.132Z","updated_at":"2025-10-10T06:02:22.391Z","avatar_url":"https://github.com/blackmann.png","language":"Dart","readme":"# Flutter Place Picker [![Pub](https://img.shields.io/pub/v/place_picker.svg)](https://pub.dev/packages/place_picker)\n\nThe missing location picker made in Flutter for Flutter. With dark theme and custom localization support.\n\n\u003cp float=\"left\"\u003e\n  \u003cimg src=\"https://i.ibb.co/yyQRzPx/dark.jpg\" width=400 /\u003e\n  \u003cimg src=\"https://i.ibb.co/Ry7396K/sc2.png\" width=400 /\u003e\n\u003c/p\u003e\n\n⚠️ Please note: This library will \u003cb\u003eNOT\u003c/b\u003e be affected by the deprecation of Place Picker as [indicated here](https://developers.google.com/places/android-sdk/placepicker).\n\n🍭 Remember to enable `Places API`, `Maps SDK for Android`, `Maps SDK for iOS` and `Geocoding API` for your API key.\n\n## Usage\n\nTo use this plugin, add `place_picker` as a [dependency in your pubspec.yaml file](https://flutter.io/platform-plugins/).\n\n## Getting Started\n\nThis package relies on [google_maps_flutter](https://github.com/flutter/plugins/tree/master/packages/google_maps_flutter) to display the map. Follow these guidelines to add your API key to the Android and iOS packages.\n\nGet an API key at \u003chttps://cloud.google.com/maps-platform/\u003e if you haven't already.\n\n### Android\n\nSpecify your API key in the application manifest `android/app/src/main/AndroidManifest.xml` and add `ACCESS_FINE_LOCATION` permission:\n\n```xml\n\u003cmanifest ...\n\n  \u003c!-- Add this permission --\u003e\n  \u003cuses-permission android:name=\"android.permission.ACCESS_FINE_LOCATION\" /\u003e\n\n  \u003capplication ...\n    \u003c!-- Add your api key here --\u003e\n    \u003cmeta-data android:name=\"com.google.android.geo.API_KEY\"\n               android:value=\"YOUR KEY HERE\"/\u003e\n    \u003cactivity ..../\u003e\n  \u003c/application\u003e\n\u003c/manifest\u003e\n```\n\nUpdate your gradle.properties file with this:\n\n```groovy\nandroid.enableJetifier=true\nandroid.useAndroidX=true\norg.gradle.jvmargs=-Xmx1536M\n```\n\nPlease also make sure that you have those dependencies in your build.gradle:\n\n```groovy\n  // parent level build.gradle (android/build.gradle)\n  dependencies {\n      classpath 'com.android.tools.build:gradle:3.3.0'\n      classpath 'com.google.gms:google-services:4.2.0'\n  }\n  ...\n\n  // app level build.gradle (android/app/build.gradle)\n  compileSdkVersion 28\n```\n\n### iOS\n\nSpecify 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\n@implementation AppDelegate\n\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\n@UIApplicationMain\n@objc class AppDelegate: FlutterAppDelegate {\n  override func application(\n    _ application: UIApplication,\n    didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: 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\nOpt-in to the embedded views preview by adding a boolean property to the app's `Info.plist` file\nwith the key `io.flutter.embedded_views_preview` and the value `YES`.\n\n![info.plist](https://i.ibb.co/hWN3Y75/plist.png \"Place inside the dict values\")\n\nAlso add these to the dict values in `Info.plist` for location request to work on iOS\n![info.plist](https://i.ibb.co/2Y3X2jY/locationperm.png)\n\n## Sample Usage\n\nImport the package into your code\n\n```dart\nimport 'package:place_picker/place_picker.dart';\n```\n\nCreate a method like below, and call it in `onTap` of a button or InkWell. A `LocationResult` will be returned\nwith the name and lat/lng of the selected place. You can then handle the result in any way you want.\nPass in an optional `LatLng displayLocation` to display that location instead. This is useful when you want the map\nto display the previously selected location.\n\n```dart\nvoid showPlacePicker() async {\n    LocationResult result = await Navigator.of(context).push(MaterialPageRoute(\n        builder: (context) =\u003e\n            PlacePicker(\"YOUR API KEY\",\n                        displayLocation: customLocation,\n                        )));\n\n    // Handle the result in your way\n    print(result);\n}\n```\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblackmann%2Flocationpicker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fblackmann%2Flocationpicker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblackmann%2Flocationpicker/lists"}