{"id":21174846,"url":"https://github.com/mindinventory/vanilla-place-picker","last_synced_at":"2025-07-09T21:31:17.236Z","repository":{"id":43401665,"uuid":"178135615","full_name":"Mindinventory/vanilla-place-picker","owner":"Mindinventory","description":"Simple(vanilla) yet 'Do it all' place picker for your place picking needs in Android","archived":false,"fork":false,"pushed_at":"2025-05-28T03:52:03.000Z","size":3831,"stargazers_count":119,"open_issues_count":2,"forks_count":34,"subscribers_count":14,"default_branch":"master","last_synced_at":"2025-05-28T04:59:03.458Z","etag":null,"topics":["android","autocomplete","easy-to-use","google-map","google-place-autocomplete","google-places","kotlin","kotlin-android","location","location-picker","picker","placepicker","places","vanilla"],"latest_commit_sha":null,"homepage":"https://www.mindinventory.com/android-application-development.php","language":"Kotlin","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/Mindinventory.png","metadata":{"files":{"readme":"README.md","changelog":null,"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,"zenodo":null}},"created_at":"2019-03-28T05:55:07.000Z","updated_at":"2025-01-06T09:19:24.000Z","dependencies_parsed_at":"2025-05-28T04:55:44.727Z","dependency_job_id":"f532a67c-b7db-4ba4-90bf-54d0ea4bc5c1","html_url":"https://github.com/Mindinventory/vanilla-place-picker","commit_stats":null,"previous_names":[],"tags_count":18,"template":false,"template_full_name":null,"purl":"pkg:github/Mindinventory/vanilla-place-picker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mindinventory%2Fvanilla-place-picker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mindinventory%2Fvanilla-place-picker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mindinventory%2Fvanilla-place-picker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mindinventory%2Fvanilla-place-picker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Mindinventory","download_url":"https://codeload.github.com/Mindinventory/vanilla-place-picker/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mindinventory%2Fvanilla-place-picker/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264503949,"owners_count":23618762,"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","autocomplete","easy-to-use","google-map","google-place-autocomplete","google-places","kotlin","kotlin-android","location","location-picker","picker","placepicker","places","vanilla"],"created_at":"2024-11-20T16:56:24.287Z","updated_at":"2025-07-09T21:31:16.801Z","avatar_url":"https://github.com/Mindinventory.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Vanilla Place Picker\n[![](https://jitpack.io/v/Mindinventory/VanillaPlacePicker.svg)](https://jitpack.io/#Mindinventory/VanillaPlacePicker) ![](https://img.shields.io/github/license/mindinventory/VanillaPlacePicker)\n\nVanilla Place Picker provides a UI that displays an interactive map to get the place details and Autocomplete functionality, which displays place predictions based on user search input.\n\nDevelopers often come across a requirement of adding precise location. So, a place picker which is easy to implement, less time consuming, and simple enough for users to use it is always in demand and here we have a Vanilla Place Picker which developer can add it in quick simple steps.\n\n## Preview\n![image](/media/vanillaplacepicker-autocomplete.gif) ![image](/media/vanillaplacepicker-map.gif)\n\n## Key features\n* Android 13 support\n* Simple implementation for place picker either using Autocomplete, Map or both\n* Set your own custom map styles\n* Customise map pin icon\n* Set default location position\n* Use it without location permission\n* Choose to show only open businesses or all\n* Highly customise attributes\n* Multi languages support\n* RTL layout support\n\n## Usage\n### Dependencies\n\n- **Step 1. Add the JitPack repository in your project build.gradle:**\n```bash\nallprojects {\n\t    repositories {\n\t\t    ...\n\t\t    maven { url 'https://jitpack.io' }\n\t    }\n    }\n```\n**or**\n**If Android studio version is Arctic Fox or higher then add it in your settings.gradle**\n\n```bash\ndependencyResolutionManagement {\n  \t\trepositories {\n       \t\t...\n       \t\tmaven { url 'https://jitpack.io' }\n   \t\t}\n   }\n``` \n- **Step 2. Add the dependency in your app module build.gradle file**\n```bash\n        dependencies {\n            ...\n            implementation 'com.github.Mindinventory:VanillaPlacePicker:X.X.X'\n        }\n``` \n\n### Implementation\n- **Step 1. Add Google MAP API KEY in your local.properties file with the same variable name as defined below (google.maps_api_key)**\n```bash\n     google.maps_api_key=PLACE YOUR API KEY HERE\n``` \n\n- **Step 2. To get Google MAP Api key from local.properties file, write below defined code in your app module build.gradle file**\n```bash\n       android {\n  ...\n  defaultConfig {\n  ...\n  #Access Google MAP Api Key from local.properties file \n  def properties = new Properties()\n  file(\"../local.properties\").withInputStream { properties.load(it)\n  #Share the key with your `AndroidManifest.xml`\n  manifestPlaceholders = [ googleMapsApiKey:\"${properties.getProperty('google.maps_api_key')}\"]\n  }\n``` \n- **Step 3. Add below defined meta-data code to your AndroidManifest.xml:**\n\n```bash\n      \u003capplication ... \u003e\n        ...\n        \n        \u003cmeta-data\n            android:name=\"com.google.android.geo.API_KEY\"\n            android:value=\"${googleMapsApiKey}\" /\u003e\n        \n      \u003c/application\u003e\n``` \n- **Step 4. Add VanillaPlacePicker Builder in to your activity class:**\n```bash\n\n#startActivityForResult is deprecated so better to use registerForActivityResult\n     var placePickerResultLauncher =\n       registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result -\u003e\n           if (result.resultCode == Activity.RESULT_OK \u0026\u0026 result.data != null) {\n               val vanillaAddress = VanillaPlacePicker.getPlaceResult(result.data)\n           }\n       }\n       \n#Launch caller with Intent\n     val intent = VanillaPlacePicker.Builder(this)\n        .with(PickerType.MAP_WITH_AUTO_COMPLETE) // Select Picker type to enable autocompelte, map or both\n        .withLocation(23.057582, 72.534458)\n        .setPickerLanguage(PickerLanguage.HINDI) // Apply language to picker\n        .setLocationRestriction(LatLng(23.0558088,72.5325067), LatLng(23.0587592,72.5357321)) // Restrict location bounds in map and autocomplete\n        .setCountry(\"IN\") // Only for Autocomplete\n        .enableShowMapAfterSearchResult(true) // To show the map after selecting the place from place picker only for PickerType.MAP_WITH_AUTO_C\n        /*\n         * Configuration for Map UI\n         */\n        .setMapType(MapType.SATELLITE) // Choose map type (Only applicable for map screen) \n        .setMapStyle(R.raw.style_json) // Containing the JSON style declaration for night-mode styling\n        .setMapPinDrawable(android.R.drawable.ic_menu_mylocation) // To give custom pin image for map marker\n        .build()\n\n     placePickerResultLauncher.launch(intent)\n                  \n``` \n    \n## Requirements\n\n* minSdkVersion \u003e= 21\n* Androidx\n\n# LICENSE!\n\nVanilla Place Picker is [MIT-licensed](/LICENSE).\n\n# Let us know!\nWe’d be really happy if you send us links to your projects where you use our component. Just send an email to sales@mindinventory.com And do let us know if you have any questions or suggestion regarding our work.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmindinventory%2Fvanilla-place-picker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmindinventory%2Fvanilla-place-picker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmindinventory%2Fvanilla-place-picker/lists"}