Project Name | Stars | Downloads | Repos Using This | Packages Using This | Most Recent Commit | Total Releases | Latest Release | Open Issues | License | Language |
---|---|---|---|---|---|---|---|---|---|---|
Google Maps Services Python | 3,863 | 1,153 | 42 | 9 days ago | 42 | February 02, 2022 | 25 | apache-2.0 | Python | |
Python client library for Google Maps API Web Services | ||||||||||
Google Maps Services Js | 2,614 | 792 | 138 | 2 days ago | 24 | April 30, 2020 | 17 | apache-2.0 | TypeScript | |
Node.js client library for Google Maps API Web Services | ||||||||||
Android Reactivelocation | 2,117 | 117 | 1 | 3 years ago | 11 | September 29, 2017 | 32 | Java | ||
Small library that wraps Google Play Service API in brilliant RxJava Observables reducing boilerplate to minimum. | ||||||||||
React Places Autocomplete | 1,342 | 533 | 72 | 2 months ago | 71 | July 14, 2020 | 124 | mit | JavaScript | |
React component for Google Maps Places Autocomplete | ||||||||||
Use Places Autocomplete | 1,092 | 10 | 2 months ago | 95 | June 14, 2022 | 33 | mit | TypeScript | ||
😎 📍 React hook for Google Maps Places Autocomplete. | ||||||||||
Ggmap | 722 | 207 | 73 | 16 days ago | 13 | February 05, 2019 | 124 | R | ||
A package for plotting maps in R with ggplot2 | ||||||||||
Geocoder | 683 | 21 | 5 | 2 months ago | 38 | June 29, 2022 | mit | PHP | ||
Geocode addresses to coordinates | ||||||||||
Node Googlemaps | 556 | 420 | 34 | 3 years ago | 38 | December 20, 2016 | 34 | mit | JavaScript | |
A simple way to query the Google Maps API from Node.js | ||||||||||
Vue Googlemaps | 523 | 24 | 2 | 2 years ago | 9 | December 23, 2018 | 46 | JavaScript | ||
Integrate Google Maps in your Vue application | ||||||||||
Googleapi | 465 | 12 | 11 | a month ago | 136 | September 27, 2022 | mit | C# | ||
C# .NET Core Google Api (Maps, Places, Roads, Search, Translate). Supports all endpoints and requests / responses. |
Place Picker for Google Maps has been deprecated in Android and we are told to move to paid APIs. Autocomplete, Nearby and Places photos APIs are chargeable after a number of loads. Check Pricing here
Thankfully, Static and Dynamic Maps on Mobile and Geocoder is still free. PlacePicker is a Place Picker alternative library that allows you to pick a point in the map and get its coordinates and Address using Geocoder instead of Google APIs
Include the following dependencies in your app's build.gradle :
Add it in your root build.gradle at the end of repositories:
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
dependencies {
implementation 'com.github.suchoX:PlacePicker:1.1.2'
implementation 'com.google.android.gms:play-services-maps:17.0.0'
implementation 'com.google.android.material:material:1.1.0'
implementation 'com.google.android.libraries.places:places:2.2.0'
}
PlacePicker Uses AndroidX artifacts, thus to use it without issues, make sure your application has been migrated to AndroidX as well. If you havent done it already, Here's How
PlacePickerActivity
:val intent = PlacePicker.IntentBuilder()
.setLatLong(40.748672, -73.985628) // Initial Latitude and Longitude the Map will load into
.showLatLong(true) // Show Coordinates in the Activity
.setMapZoom(12.0f) // Map Zoom Level. Default: 14.0
.setAddressRequired(true) // Set If return only Coordinates if cannot fetch Address for the coordinates. Default: True
.hideMarkerShadow(true) // Hides the shadow under the map marker. Default: False
.setMarkerDrawable(R.drawable.marker) // Change the default Marker Image
.setMarkerImageImageColor(R.color.colorPrimary)
.setFabColor(R.color.fabColor)
.setPrimaryTextColor(R.color.primaryTextColor) // Change text color of Shortened Address
.setSecondaryTextColor(R.color.secondaryTextColor) // Change text color of full Address
.setBottomViewColor(R.color.bottomViewColor) // Change Address View Background Color (Default: White)
.setMapRawResourceStyle(R.raw.map_style) //Set Map Style (https://mapstyle.withgoogle.com/)
.setMapType(MapType.NORMAL)
.setPlaceSearchBar(true, GOOGLE_API_KEY) //Activate GooglePlace Search Bar. Default is false/not activated. SearchBar is a chargeable feature by Google
.onlyCoordinates(true) //Get only Coordinates from Place Picker
.hideLocationButton(true) //Hide Location Button (Default: false)
.disableMarkerAnimation(true) //Disable Marker Animation (Default: false)
.build(this)
startActivityForResult(intent, Constants.PLACE_PICKER_REQUEST)
onActivityResult
override fun onActivityResult(requestCode: Int,resultCode: Int,data: Intent?) {
if (requestCode == Constants.PLACE_PICKER_REQUEST) {
if (resultCode == Activity.RESULT_OK) {
val addressData = data?.getParcelableExtra<AddressData>(Constants.ADDRESS_INTENT)
}
} else {
super.onActivityResult(requestCode, resultCode, data)
}
}
Note: Placepicker DOES NOT access your location. It's your app's responsibility to fet and provide the User's location and send via setLatLong
. The MyLocation button takes the user in the sent location
Note: PlacePickerActivity
uses the default theme of your app. If you want to change the theme, declare it in your app's Manifest:
<activity
android:name="com.sucho.placepicker.PlacePickerActivity"
android:theme="@style/PlacePickerTheme"/> //Included FullScreen Day-Night Theme
If you are using Java instead of Kotlin:
Intent intent = new PlacePicker.IntentBuilder()
...
startActivityForResult(intent, Constants.PLACE_PICKER_REQUEST);
...
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
if (requestCode == Constants.PLACE_PICKER_REQUEST) {
if (resultCode == Activity.RESULT_OK && data != null) {
AddressData addressData = data.getParcelableExtra(Constants.ADDRESS_INTENT);
}
} else {
super.onActivityResult(requestCode, resultCode, data);
}
}
Note: This is inspired from Mapbox Android Place Picker plugin. Code and UI has been reused from the open source library hosted on Github. Their copyright license has been added here