{"id":29327356,"url":"https://github.com/itsarvinddev/map_location_picker","last_synced_at":"2026-02-22T18:02:40.200Z","repository":{"id":42007757,"uuid":"479088925","full_name":"itsarvinddev/map_location_picker","owner":"itsarvinddev","description":"Map location picker for flutter Based on google_maps_flutter","archived":false,"fork":false,"pushed_at":"2025-10-05T11:03:20.000Z","size":27787,"stargazers_count":48,"open_issues_count":1,"forks_count":83,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-10-23T03:54:35.259Z","etag":null,"topics":["hacktoberfest","hacktoberfest-accepted"],"latest_commit_sha":null,"homepage":"","language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/itsarvinddev.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"rvndsngwn","patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"lfx_crowdfunding":null,"custom":null}},"created_at":"2022-04-07T17:41:44.000Z","updated_at":"2025-10-05T11:03:23.000Z","dependencies_parsed_at":"2024-03-16T20:26:26.982Z","dependency_job_id":"a235727d-faa6-4bc4-b3bd-6177bc4d8730","html_url":"https://github.com/itsarvinddev/map_location_picker","commit_stats":{"total_commits":12,"total_committers":3,"mean_commits":4.0,"dds":0.5,"last_synced_commit":"c482447590aafd13978ee4fc6eaab33e66dafe2a"},"previous_names":["itsarvinddev/map_location_picker"],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/itsarvinddev/map_location_picker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itsarvinddev%2Fmap_location_picker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itsarvinddev%2Fmap_location_picker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itsarvinddev%2Fmap_location_picker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itsarvinddev%2Fmap_location_picker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/itsarvinddev","download_url":"https://codeload.github.com/itsarvinddev/map_location_picker/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itsarvinddev%2Fmap_location_picker/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29721055,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-22T15:10:41.462Z","status":"ssl_error","status_checked_at":"2026-02-22T15:10:04.636Z","response_time":110,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["hacktoberfest","hacktoberfest-accepted"],"created_at":"2025-07-07T21:01:26.962Z","updated_at":"2026-02-22T18:02:40.192Z","avatar_url":"https://github.com/itsarvinddev.png","language":"Dart","funding_links":["https://github.com/sponsors/rvndsngwn","https://buymeacoffee.com/rvndsngwn","https://paypal.me/rvndsngwn","https://github.com/sponsors/itsarvinddev"],"categories":["Dart"],"sub_categories":[],"readme":"# map_location_picker:\n\n[![Pub Version](https://img.shields.io/pub/v/map_location_picker?color=blue\u0026style=plastic)](https://pub.dev/packages/map_location_picker)\n[![GitHub Repo stars](https://img.shields.io/github/stars/itsarvinddev/map_location_picker?color=gold\u0026style=plastic)](https://github.com/itsarvinddev/map_location_picker/stargazers)\n[![GitHub Repo forks](https://img.shields.io/github/forks/itsarvinddev/map_location_picker?color=slateblue\u0026style=plastic)](https://github.com/itsarvinddev/map_location_picker/fork)\n[![GitHub Repo issues](https://img.shields.io/github/issues/itsarvinddev/map_location_picker?color=coral\u0026style=plastic)](https://github.com/itsarvinddev/map_location_picker/issues)\n[![GitHub Repo contributors](https://img.shields.io/github/contributors/itsarvinddev/map_location_picker?color=green\u0026style=plastic)](https://github.com/itsarvinddev/map_location_picker/graphs/contributors)\n\n## Modern Location Picker for Flutter with Enhanced UI \u0026 Customization\n\n**Version 2.0 introduces a complete overhaul with:**\n\n**Check migration guide from 1.x to 2.x [map_location_picker/MIGRATION_GUIDE](https://github.com/itsarvinddev/map_location_picker/blob/master/MIGRATION_GUIDE.md)**\n\n- 🍎 New Cupertino-style UI components\n- 🌗 Built-in dark/light theme support\n- 🧩 Modular configuration architecture\n- 🚀 Performance optimizations\n- 🗺️ Advanced map customization options\n- 🧭 Improved navigation and UI flow\n\n**_Check out the more screenshots [here](https://github.com/itsarvinddev/map_location_picker/tree/master/assets)_**\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eDefault View\u003c/td\u003e\n    \u003ctd\u003eDark Mode\u003c/td\u003e\n    \u003ctd\u003eCustom Markers\u003c/td\u003e\n    \u003ctd\u003eCustom Map Type\u003c/td\u003e\n    \u003ctd\u003eLiquid Card\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cimg src=\"https://raw.githubusercontent.com/itsarvinddev/map_location_picker/master/assets/iphone_14_pro_1_0.png\" width=210 alt=\"\"\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003cimg src=\"https://raw.githubusercontent.com/itsarvinddev/map_location_picker/master/assets/iphone_14_pro_2_1.png\" width=210 alt=\"\"\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003cimg src=\"https://raw.githubusercontent.com/itsarvinddev/map_location_picker/master/assets/iphone_14_pro_3_2.png\" width=210 alt=\"\"\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003cimg src=\"https://raw.githubusercontent.com/itsarvinddev/map_location_picker/master/assets/iphone_14_pro_4_3.png\" width=210 alt=\"\"\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003cimg src=\"https://raw.githubusercontent.com/itsarvinddev/map_location_picker/master/assets/iphone_14_pro_5_4.png\" width=210 alt=\"\"\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n## 🚀 Getting Started\n\n### Installation\n\nAdd to your `pubspec.yaml`:\n\n```yaml\ndependencies:\n  map_location_picker: ^3.1.0\n```\n\n## Setup Guide\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\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) {\nAndroidGoogleMapsFlutter.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### Recommended: Restricting Api Keys to your Android or IOS bundle identifiers:\n\n\u003cimg width=\"503\" alt=\"Screenshot 2025-01-06 at 21 04 43\" src=\"https://github.com/user-attachments/assets/1a097012-1eb8-4c07-b2c8-010c460d654b\" /\u003e\n\nYou must then send the following in the headers:\n\n```\n  Map\u003cString, String\u003e headers = {};\n  if (Platform.isIOS || Platform.isMacOS) {\n    headers['X-Ios-Bundle-Identifier'] = 'Your Bundle Identifier';\n  }\n  if (Platform.isAndroid) {\n    headers['X-Android-Package'] = 'Your Bundle Identifier';\n    headers['X-Android-Cert'] = 'Your Sha-1';\n  }\n   MapLocationPicker(\n      geoCodingApiHeaders: headers,\n      ...\n   )\n```\n\n### Web View\n\nModify `web/index.html`\n\nGet an API Key for Google Maps JavaScript API. Get\nstarted [here](https://developers.google.com/maps/documentation/javascript/get-api-key).\n\nModify the `\u003chead\u003e` tag of your `web/index.html` to load the Google Maps JavaScript API, like so:\n\n```html\n\u003chead\u003e\n  \u003c!-- // Other stuff --\u003e\n\n  \u003cscript src=\"https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY\"\u003e\u003c/script\u003e\n\u003c/head\u003e\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\ndevice'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\navailable 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\nandroid.hardware.location.gps hardware features if your app targets Android 5.0 (API level 21) or higher and uses the\nACCESS_COARSE_LOCATION or ACCESS_FINE_LOCATION permission in order to receive location updates from the network or a\nGPS, respectively.\n\n```xml\n\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\nbuild 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\ndata can be downloaded.\n\n## Restricting Autocomplete Search to Region\n\nThe `Result`s returned can be restricted to certain countries by passing an array of country codes into the `components`\nparameter of `MapLocationPicker`. Countries must be two character, `ISO 3166-1 Alpha-2` compatible.\nYou can find code information\nat [Wikipedia: List of ISO 3166 country codes](https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes) or\nthe [ISO Online Browsing Platform](https://www.iso.org/obp/ui/#search).\n\n### Basic Usage\n\n```dart\nimport 'package:map_location_picker/map_location_picker.dart';\n\nMapLocationPicker(\n  config: MapPickerConfig(\n    apiKey: \"YOUR_API_KEY\",\n    initialPosition: LatLng(37.7749, -122.4194),\n  ),\n  searchConfig: PlacesAutocompleteConfig(\n    apiKey: \"YOUR_API_KEY\",\n    searchHintText: \"Search locations...\",\n  ),\n);\n```\n\n## 🆕 What's New in 2.0.0\n\n### 1. Cupertino-Style UI\n\nThe entire UI has been redesigned with Cupertino components for a native iOS feel:\n\n```dart\nPlacesAutocomplete(\n  config: PlacesAutocompleteConfig(\n    // Uses CupertinoTypeAheadField internally\n    searchHintText: \"Search locations...\",\n  ),\n);\n```\n\n### 2. Theme Support\n\nBuilt-in support for light/dark themes with automatic switching:\n\n```dart\nfinal _themeMode = ValueNotifier\u003cThemeMode\u003e(ThemeMode.light);\n\nMapLocationPicker(\n  config: MapPickerConfig(\n    // Automatically adapts to current theme\n  ),\n);\n```\n\n### 3. Enhanced Configuration\n\nMore granular control with expanded configuration objects:\n\n```dart\nMapPickerConfig(\n  mapTypeButton: CustomMapTypeButton(), // Fully customizable buttons\n  locationButton: CustomLocationButton(),\n  bottomCardBuilder: (ctx, result, address, isLoading, onNext) {\n    return CustomBottomCard(address: address);\n  },\n);\n```\n\n### 4. Improved Map Previews\n\nNew static map previews for selected locations:\n\n```dart\nImage.network(\n  googleStaticMapWithMarker(\n    _pickedLocation!.latitude,\n    _pickedLocation!.longitude,\n    18,\n    apiKey: YOUR_API_KEY,\n  ),\n);\n```\n\n### 5. Advanced Marker Support\n\nCustom markers with asset-based icons:\n\n```dart\nvoid _createMarkerIcon() async {\n  _customMarkerIcon = await BitmapDescriptor.asset(\n    const ImageConfiguration(size: Size(48, 48)),\n    'assets/marker.webp',\n  );\n}\n\nMapPickerConfig(\n  mainMarkerIcon: _customMarkerIcon,\n);\n```\n\n## 🌟 Key Features\n\n### Cupertino-Styled Search\n\n```dart\nPlacesAutocomplete(\n  config: PlacesAutocompleteConfig(\n    searchHintText: \"Search locations...\",\n    itemBuilder: (context, prediction) =\u003e CupertinoListTile(\n      title: Text(prediction.description ?? \"\"),\n      subtitle: Text(prediction.secondaryText ?? \"\"),\n    ),\n  ),\n);\n```\n\n### Theme-Aware Components\n\n```dart\n// Automatically adapts to light/dark themes\nMapLocationPicker(\n  config: MapPickerConfig(\n    floatingControlsColor: Theme.of(context).colorScheme.primary,\n    floatingControlsIconColor: Theme.of(context).colorScheme.onPrimary,\n  ),\n);\n```\n\n### Customizable Bottom Sheets\n\n```dart\nMapPickerConfig(\n  bottomCardBuilder: (context, result, address, isLoading, onNext) {\n    return CupertinoActionSheet(\n      title: const Text(\"Selected Location\"),\n      actions: [\n        CupertinoActionSheetAction(\n          onPressed: onNext,\n          child: Text(address),\n        ),\n      ],\n    );\n  },\n);\n```\n\n### Advanced Marker Configuration\n\n```dart\nMapPickerConfig(\n  additionalMarkers: const {\n    \"landmark1\": LatLng(37.422, -122.084),\n    \"landmark2\": LatLng(37.426, -122.083),\n  },\n  customMarkerIcons: {\n    \"landmark1\": BitmapDescriptor.defaultMarkerWithHue(BitmapDescriptor.hueYellow),\n    \"landmark2\": BitmapDescriptor.defaultMarkerWithHue(BitmapDescriptor.hueBlue),\n  },\n  customInfoWindows: const {\n    \"landmark1\": InfoWindow(title: \"Golden Gate Bridge\"),\n  },\n);\n```\n\n## 🛠 Setup Guide\n\n### API Keys Setup\n\n1. Get an API key at [Google Cloud Console](https://cloud.google.com/maps-platform/)\n2. Enable required APIs:\n   - Maps SDK for Android/iOS\n   - Places API\n   - Geocoding API\n   - Maps JavaScript API (for web)\n\n### Android Setup\n\nAdd to `AndroidManifest.xml`:\n\n```xml\n\u003cmeta-data\n  android:name=\"com.google.android.geo.API_KEY\"\n  android:value=\"YOUR_ANDROID_API_KEY\"/\u003e\n```\n\n### iOS Setup\n\nAdd to `AppDelegate.swift`:\n\n```swift\nGMSServices.provideAPIKey(\"YOUR_IOS_API_KEY\")\n```\n\n### Web Setup\n\nAdd to `web/index.html`:\n\n```html\n\u003chead\u003e\n  \u003c!-- Other stuff --\u003e\n  \u003c!-- Add your Google Maps API key --\u003e\n  \u003cscript src=\"https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY\"\u003e\u003c/script\u003e\n\u003c/head\u003e\n```\n\n## 💻 Example App\n\n```dart\nimport 'package:example/key.dart';\nimport 'package:flutter/material.dart';\nimport 'package:map_location_picker/map_location_picker.dart';\n\nvoid main() =\u003e runApp(const MyApp());\n\nfinal _themeMode = ValueNotifier\u003cThemeMode\u003e(ThemeMode.light);\n\nclass MyApp extends StatelessWidget {\n  const MyApp({super.key});\n\n  @override\n  Widget build(BuildContext context) {\n    return ValueListenableBuilder\u003cThemeMode\u003e(\n      valueListenable: _themeMode,\n      builder: (context, themeMode, child) {\n        return MaterialApp(\n          theme: ThemeData.light(),\n          darkTheme: ThemeData.dark(),\n          themeMode: themeMode,\n          home: const LocationPickerScreen(),\n        );\n      },\n    );\n  }\n}\n\nclass LocationPickerScreen extends StatefulWidget {\n  const LocationPickerScreen({super.key});\n\n  @override\n  State\u003cLocationPickerScreen\u003e createState() =\u003e _LocationPickerScreenState();\n}\n\nclass _LocationPickerScreenState extends State\u003cLocationPickerScreen\u003e {\n  LatLng? _pickedLocation;\n  String _formattedAddress = \"No location selected\";\n  BitmapDescriptor? _customMarkerIcon;\n\n  @override\n  void initState() {\n    super.initState();\n    _createMarkerIcon();\n  }\n\n  void _createMarkerIcon() async {\n    _customMarkerIcon = await BitmapDescriptor.asset(\n      const ImageConfiguration(size: Size(48, 48)),\n      'assets/marker.webp',\n    );\n  }\n\n  @override\n  Widget build(BuildContext context) {\n    return Scaffold(\n      appBar: AppBar(title: const Text('Location Picker')),\n      body: SingleChildScrollView(\n        child: Column(\n          children: [\n            // Map preview\n            Container(\n              height: 200,\n              child: _pickedLocation == null\n                ? Center(child: Text(\"Select a location\"))\n                : Image.network(\n                    googleStaticMapWithMarker(\n                      _pickedLocation!.latitude,\n                      _pickedLocation!.longitude,\n                      16,\n                      apiKey: YOUR_API_KEY,\n                    ),\n                    fit: BoxFit.cover,\n                  ),\n            ),\n\n            // Address display\n            ListTile(\n              leading: Icon(Icons.location_on),\n              title: Text(_formattedAddress),\n            ),\n\n            // Picker options\n            _buildOptionCard(\n              icon: Icons.map,\n              title: \"Standard Picker\",\n              onTap: () =\u003e _openPicker(standardConfig),\n            ),\n            // More options...\n          ],\n        ),\n      ),\n    );\n  }\n\n  void _openPicker(MapPickerConfig config) async {\n    await Navigator.push(\n      context,\n      MaterialPageRoute(\n        builder: (context) =\u003e MapLocationPicker(\n          config: config.copyWith(\n            initialPosition: _pickedLocation,\n            onNext: (result) {\n              if (result != null) {\n                setState(() {\n                  _pickedLocation = LatLng(\n                    result.geometry.location.lat,\n                    result.geometry.location.lng,\n                  );\n                  _formattedAddress = result.formattedAddress ?? \"\";\n                });\n              }\n            },\n          ),\n          searchConfig: PlacesAutocompleteConfig(\n            apiKey: YOUR_API_KEY,\n          ),\n        ),\n      ),\n    );\n  }\n}\n```\n\n## 💰 Support the Project\n\n[![BuyMeACoffee](https://img.shields.io/badge/Buy%20Me%20a%20Coffee-ffdd00?style=for-the-badge\u0026logo=buy-me-a-coffee\u0026logoColor=black)](https://buymeacoffee.com/rvndsngwn)\n[![PayPal](https://img.shields.io/badge/PayPal-00457C?style=for-the-badge\u0026logo=paypal\u0026logoColor=white)](https://paypal.me/rvndsngwn)\n[![GitHub Sponsors](https://img.shields.io/badge/GitHub%20Sponsors-ea4aaa?style=for-the-badge\u0026logo=github\u0026logoColor=white)](https://github.com/sponsors/itsarvinddev)\n\n## 👨‍💻 Contribute\n\nWe welcome contributions! Please see our [contribution guidelines](https://github.com/itsarvinddev/map_location_picker/blob/master/CONTRIBUTING.md).\n\n## 👥 Contributors\n\n\u003ca href=\"https://github.com/itsarvinddev/map_location_picker/graphs/contributors\"\u003e\n  \u003cimg src=\"https://contrib.rocks/image?repo=itsarvinddev/map_location_picker\" /\u003e\n\u003c/a\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fitsarvinddev%2Fmap_location_picker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fitsarvinddev%2Fmap_location_picker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fitsarvinddev%2Fmap_location_picker/lists"}