Address Autofill
Suppose you need a user to enter a valid home or delivery address. They typically need to do this during the registration or checkout process, where making the entry process as smooth as possible can help you prevent churn. This is where enabling users to fill in the address form by entering only a few characters is the most beneficial.
User experience
- Whenever it’s time to fill in the address in your app, the user is presented with a form. The top field in the form is focused for input.
- When the user starts typing, a list of valid, matching addresses is displayed, with the addresses closest to the user presented first.
- The user taps one of the suggested addresses and the form fields are filled.
- Your app shows the map with a pin placed for the selected address, which enables the user to visually confirm that they selected the correct address.
- Users also have the option of adding a comment for a housing unit, specific delivery instructions, or confirm the address they otherwise would need to type in manually.
We have a ready-made sample app that you can try in Android Studio with Address Autofill and other scenarios. We encourage you to install and try it for yourself.
Learn how to integrate Search SDK Address Autofill with UI for suggestions, filled-in form components, and a visual map confirmation (includes Maps SDK) in a sample app.
Integration
Address Autofill 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.
Before using any of Mapbox's Search products, you need to do some common installation steps. Please follow this guide, then continue with the steps below.
- Get instance of
AddressAutofill
:
val addressAutofill = AddressAutofill.create(mapboxAccessToken)
- Add a request for input from the user:
val query = receivedInput
lifecycleScope.launchWhenCreated {
val response = addressAutofill.suggestions(query, AddressAutofillOptions())
response.onValue { suggestions ->
showSuggestions(suggestions)
}.onError { error ->
// process error
}
}
- Process results to fill in the UI fields:
val suggestion = pickSuggestion(response.suggestions)
val resultAddress = suggestion.result().address
placeField.setText(resultAddress.place)
countryField.setText(resultAddress.country)
For more information, see the full API reference for the Android Search SDK.
For using Address Autofill on the web see our Mapbox Search JS SDK.