This repository contains Kotlin extensions (KTX) for:
It enables you to write more concise, idiomatic Kotlin.
If you are using the Places SDK through Google Play Services:
dependencies { implementation 'com.google.maps.android:places-ktx:3.4.0' }
Accessing API responses made by PlacesClient
can be retrieved using coroutines vs. using Task objects. The example here demonstrates how you can use this feature alongside with Android’s ViewModel KTX’s viewModelScope
. Additionally, you can use a DSL provided by this library to construct requests vs. using builders.
Before
val bias = RectangularBounds.newInstance( LatLng(22.458744, 88.208162), // SW lat, lng LatLng(22.730671, 88.524896) // NE lat, lng ) // Create a new programmatic Place Autocomplete request in Places SDK for Android using builders val newRequest = FindAutocompletePredictionsRequest .builder() .setLocationBias(bias) .setTypesFilter(listOf(PlaceTypes.ESTABLISHMENT)) .setQuery("123 Main Street") .setCountries("IN") .build() // Perform autocomplete predictions request placesClient.findAutocompletePredictions(newRequest).addOnSuccessListener { response -> // Handle response }.addOnFailureListener { exception -> // Handle exception }
After
val handler = CoroutineExceptionHandler { _, exception -> // Handle exception } viewModelScope.launch(handler) { val bias: LocationBias = RectangularBounds.newInstance( LatLng(37.7576948, -122.4727051), // SW lat, lng LatLng(37.808300, -122.391338) // NE lat, lng ) // Create a new programmatic Place Autocomplete request in Places SDK for Android using DSL val request = findAutocompletePredictionsRequest { locationBias = bias typesFilter = listOf(PlaceTypes.ESTABLISHMENT) query = "123 Main Street" countries = listOf("US") } // Perform autocomplete predictions request val response = placesClient.awaitFindAutocompletePredictions(request) // Handle response }
A demo application is contained within this repository that illustrates the use of this KTX library.
To run the demo app, update the local.properties
file in your root directory called (Note: this file should NOT be under version control to protect your API key) and add a single line to local.properties
that looks like PLACES_API_KEY="YOUR_API_KEY"
, where YOUR_API_KEY
is the API key you obtained in the first step. You can also take a look at the local.defaults.properties as an example. Then build and run.
You can learn more about all the extensions provided by this library by reading the [reference documents].
For more information, check out the detailed guide.
Contributions are welcome and encouraged! If you'd like to contribute, send us a pull request and refer to our code of conduct and contributing guide.
This library uses Google Maps Platform services. Use of Google Maps Platform services through this library is subject to the Google Maps Platform Terms of Service.
If your billing address is in the European Economic Area, effective on 8 July 2025, the Google Maps Platform EEA Terms of Service will apply to your use of the Services. Functionality varies by region. Learn more.
This library is not a Google Maps Platform Core Service. Therefore, the Google Maps Platform Terms of Service (e.g. Technical Support Services, Service Level Agreements, and Deprecation Policy) do not apply to the code in this library.
This library is offered via an open source license. It is not governed by the Google Maps Platform Support [Technical Support Services Guidelines, the SLA, or the Deprecation Policy. However, any Google Maps Platform services used by the library remain subject to the Google Maps Platform Terms of Service.
This library adheres to semantic versioning to indicate when backwards-incompatible changes are introduced. Accordingly, while the library is in version 0.x, backwards-incompatible changes may be introduced at any time.
If you find a bug, or have a feature request, please file an issue on GitHub. If you would like to get answers to technical questions from other Google Maps Platform developers, ask through one of our developer community channels. If you'd like to contribute, please check the contributing guide.
You can also discuss this library on our Discord server.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4