Configure the Woosmap MultiSearch Android SDK
Explore available parameters and understand how to combine the different autocomplete services on Android
- API options
- Configuring a Provider
- Woosmap Address Provider
- Woosmap Localities Provider
- Woosmap Store Provider
- Google Places Provider
API options
For each API configuration you can apply the same optional parameters as defined in the dedicated REST API’s documentation.
Documentation:
Configuring a Provider
A provider is a wrapper around a Woosmap API or a Google API which will be called to return the result for a query or
get details of a place. Each provider must be created from a provider configuration and this provider must then be
passed to MultiSearch
object by calling MultiSearch.addProvider
method. Use ProviderConfig.Builder
class in order
to create a provider configuration.
ProviderConfig.Builder builder;
builder = new ProviderConfig.Builder(SearchProviderType.ADDRESS)
.key(getString(R.string.woosmap_private_key))
Required Parameters
type
: Type of the provider. Passed asSearchProviderType
enum.key
: Your project’s private key. This key identifies your Woosmap Project for purposes of quota management.
Optional Parameters
fallbackBreakpoint
: A number between 0 and 1 corresponding to the threshold of fallback.minInputLength
: minimum input length before executing autocomplete provider.param
(typeConfigParam
): to bias the API and search for specific regions or languages. Check each provider to see available parameters.
Woosmap Address Provider
To create a configuration for Woosmap Address provider use the search type parameter SearchProviderType.ADDRESS
:
builder = new ProviderConfig.Builder(SearchProviderType.ADDRESS)
.key(getString(R.string.woosmap_private_key))
Available Provider parameters
components
: to filter over countries.language
: in which language the results should be returned. Searches are also biased to the selected language.fields
: to limit content of responses to the geometry part.
Example Woosmap Address Provider
builder = new ProviderConfig.Builder(SearchProviderType.ADDRESS)
.key(getString(R.string.woosmap_private_key))
.fallbackBreakPoint(0.8f)
.minInputLength(1)
.component(new Component(new String[]{"FR"},"fr"));
multiSearch.addProvider(builder.build());//Add Address provider
Woosmap Localities Provider
To create a configuration for Woosmap Localities provider use the search type parameter SearchProviderType.LOCALITIES
:
builder = new ProviderConfig.Builder(SearchProviderType.LOCALITIES)
.key(getString(R.string.woosmap_private_key))
Available Provider parameters
types
: the types of suggestion to return. Multiple types can be passed.components
: to filter over countries.language
: in which language the results should be returned. Searches are also biased to the selected language.data
: choose betweenDataFormat.standard
orDataFormat.extended
.
Example Woosmap Localities Provider
builder = new ProviderConfig.Builder(SearchProviderType.LOCALITIES)
.key(getString(R.string.woosmap_private_key))
.minInputLength(1)
.component(new Component(new String[]{"FR"}))
.searchType("locality")
.searchType("country")
.searchType("postal_code");
multiSearch.addProvider(builder.build());//Add locality provider
Woosmap Store Provider
To create a configuration for Woosmap Store provider use the search type parameter SearchProviderType.STORE
:
builder = new ProviderConfig.Builder(SearchProviderType.STORE)
.key(getString(R.string.woosmap_private_key))
Available Provider parameters
query
: a search query combining one or more search clauses.
Example Woosmap Store Provider
builder = new ProviderConfig.Builder(SearchProviderType.STORE)
.key(getString(R.string.woosmap_private_key))
.ignoreFallbackBreakPoint(true);
multiSearch.addProvider(builder.build());//Add Store provider
Google Places Provider
To create a configuration for Google Places provider use the search type parameter SearchProviderType.PLACES
:
builder = new ProviderConfig.Builder(SearchProviderType.PLACES)
.key(getString(R.string.places_key))
Available Provider parameters
types
: the types of suggestion to return. Multiple types can be passed.components
: to filter over countries.language
: in which language the results should be returned. Searches are also biased to the selected language.
Example Google Places Provider
builder = new ProviderConfig.Builder(SearchProviderType.PLACES)
.key(getString(R.string.places_key))
.fallbackBreakPoint(0.7f)
.minInputLength(1)
.component(new Component(new String[]{"fr"}))
.language("it");
multiSearch.addProvider(builder.build());//Add places provider language: "it"))