Skip to main content

Search by Coordinate

The Place Autocomplete returns place suggestions in response to user search queries, including specifying numeric location. The Search SDK will help you to implement such functionality in a few lines of code.

User experience

This use case allows users to search for places by the coordinate and pick appropriate from the returned suggestions.

We have a ready-made sample app that you can try in Android Studio with Place Autocomplete and other scenarios. We encourage you to install and try it for yourself.

EXAMPLE
Full example of Place Autocomplete integration

Learn how to integrate the Place Autocomplete with Maps SDK and Search UI components in a sample app.

Integration

Place Autocomplete provides coroutine-based API. In the following integration steps, we assume that you are familiar with the Kotlin coroutines and your Android project has Kotlin-ktx dependencies added. See the Kotlin coroutines guide for more information.

GUIDE
Installation guide

Before using any of Mapbox's Search products, you need to do some common installation steps. Follow this guide to complete the installation, then continue with the steps below.

  1. The main entrypoint class is called PlaceAutocomplete, you will need to instantiate this class first:
val placeAutocomplete = PlaceAutocomplete.create(mapboxAccessToken)
  1. Retrieve autocomplete suggestions. There's only one function called suggestions() which has overloadings for different use cases. As was mentioned before, the Place Autocomplete provides coroutine-based API, and suggestions() is a suspend function which should be called only from a coroutine or another suspend function. In this short example we will assume that we call it from Activity's lifecycleScope:
lifecycleScope.launchWhenCreated {
val response = placeAutocomplete.suggestions(query)
}
  • For the Search by coordinate use case you will have to provide geographic position represented by the Point class:
val response = placeAutocomplete.suggestions(Point.fromLngLat(-77.03399849939174, 38.89992081005698))
  1. Process the Place Autocomplete response. The suggestions() function returns either error or suggestions list:
response.onValue { suggestions: List<PlaceAutocompleteSuggestion> ->
processSuggestions(suggestions)
}.onError { e ->
// process error
}
  1. When a user has selected a suggestion, call select() function. This function returns PlaceAutocompleteResult object that provides detailed information about the place. Also, select() function ends billing session, so it's obligatory to call it every time your users select suggestions.
val selectedSuggestion = pickSuggestion(suggestions)

val selectionResponse = placeAutocomplete.select(selectedSuggestion)
selectionResponse.onValue { result ->
// process result
}.onError { e ->
// process error
}
GLOSSARY
API Reference

For more information, see the full API reference for the Place Autocomplete for Android.

Search by Coordinate Pricing

There is no separate charge if you choose to use Mapbox Search SDK for Android to access our APIs, you only pay by the Search API usage.

Usage of the Search by Coordinate is measured in monthly API requests. Details about the number of API requests included in the free tier and the cost per request beyond what is included in the free tier are available on the pricing page.

Was this page helpful?