Package ai.nextbillion.maps
Class GeocodingApiRequest
java.lang.Object
ai.nextbillion.maps.GeocodingApiRequest
- All Implemented Interfaces:
PendingResult<java.lang.String[]>
public class GeocodingApiRequest
extends java.lang.Object
A request for the Geocoding API.
-
Nested Class Summary
Nested classes/interfaces inherited from interface ai.nextbillion.maps.PendingResult
PendingResult.Callback<T> -
Constructor Summary
Constructors Constructor Description GeocodingApiRequest(GeoApiContext context) -
Method Summary
Modifier and Type Method Description GeocodingApiRequestaddress(java.lang.String address)Creates a forward geocode foraddress.Tawait()Performs the request synchronously.TawaitIgnoreError()Performs the request synchronously, ignoring exceptions while performing the request and errors returned by the server.GeocodingApiRequestbounds(LatLng southWestBound, LatLng northEastBound)Sets the bounding box of the viewport within which to bias geocode results more prominently.voidcancel()Attempts to cancel the request.Achannel(java.lang.String channel)A channel to pass with the request.GeocodingApiRequestcomponents(ComponentFilter... filters)Sets the component filters.Acustom(java.lang.String parameter, java.lang.String value)Custom parameter.Alanguage(java.lang.String language)The language in which to return results.GeocodingApiRequestlatlng(LatLng latlng)Creates a reverse geocode forlatlng.GeocodingApiRequestlocationType(LocationType... locationTypes)Sets the location type.protected Aparam(java.lang.String key, int val)protected Aparam(java.lang.String key, StringJoin.UrlValue val)protected Aparam(java.lang.String key, java.lang.String val)protected AparamAddToList(java.lang.String key, StringJoin.UrlValue val)protected AparamAddToList(java.lang.String key, java.lang.String val)protected java.util.Map<java.lang.String,java.util.List<java.lang.String>>params()GeocodingApiRequestplace(java.lang.String placeId)Creates a forward geocode forplaceId.GeocodingApiRequestregion(java.lang.String region)Sets the region code, specified as a ccTLD ("top-level domain") two-character value.GeocodingApiRequestresultType(AddressType... resultTypes)Sets the result type.voidsetCallback(PendingResult.Callback<T> callback)protected voidvalidateRequest()
-
Constructor Details
-
Method Details
-
validateRequest
protected void validateRequest() -
address
Creates a forward geocode foraddress.- Parameters:
address- The address to geocode.- Returns:
- Returns this
GeocodingApiRequestfor call chaining.
-
place
Creates a forward geocode forplaceId.- Parameters:
placeId- The Place ID to geocode.- Returns:
- Returns this
GeocodingApiRequestfor call chaining.
-
latlng
Creates a reverse geocode forlatlng.- Parameters:
latlng- The location to reverse geocode.- Returns:
- Returns this
GeocodingApiRequestfor call chaining.
-
bounds
Sets the bounding box of the viewport within which to bias geocode results more prominently. This parameter will only influence, not fully restrict, results from the geocoder.For more information see Viewport Biasing.
- Parameters:
southWestBound- The South West bound of the bounding box.northEastBound- The North East bound of the bounding box.- Returns:
- Returns this
GeocodingApiRequestfor call chaining.
-
region
Sets the region code, specified as a ccTLD ("top-level domain") two-character value. This parameter will only influence, not fully restrict, results from the geocoder.For more information see Region Biasing.
- Parameters:
region- The region code to influence results.- Returns:
- Returns this
GeocodingApiRequestfor call chaining.
-
components
Sets the component filters. Each component filter consists of a component:value pair and will fully restrict the results from the geocoder.For more information see Component Filtering.
- Parameters:
filters- Component filters to apply to the request.- Returns:
- Returns this
GeocodingApiRequestfor call chaining.
-
resultType
Sets the result type. Specifying a type will restrict the results to this type. If multiple types are specified, the API will return all addresses that match any of the types.- Parameters:
resultTypes- The result types to restrict to.- Returns:
- Returns this
GeocodingApiRequestfor call chaining.
-
locationType
Sets the location type. Specifying a type will restrict the results to this type. If multiple types are specified, the API will return all addresses that match any of the types.- Parameters:
locationTypes- The location types to restrict to.- Returns:
- Returns this
GeocodingApiRequestfor call chaining.
-
setCallback
Description copied from interface:PendingResultPerforms the request asynchronously, callingonResultoronFailureafter the request has been completed.- Specified by:
setCallbackin interfacePendingResult<T>- Parameters:
callback- The callback to call on completion.
-
await
Description copied from interface:PendingResultPerforms the request synchronously.- Specified by:
awaitin interfacePendingResult<T>- Returns:
- The result.
- Throws:
ApiException- Thrown if the API Returned result is an error.java.lang.InterruptedException- Thrown when a thread is waiting, sleeping, or otherwise occupied, and the thread is interrupted.java.io.IOException- Thrown when an I/O exception of some sort has occurred.
-
awaitIgnoreError
public final T awaitIgnoreError()Description copied from interface:PendingResultPerforms the request synchronously, ignoring exceptions while performing the request and errors returned by the server.- Specified by:
awaitIgnoreErrorin interfacePendingResult<T>- Returns:
- The result, or null if there was any error or exception ignored.
-
cancel
public final void cancel()Description copied from interface:PendingResultAttempts to cancel the request.- Specified by:
cancelin interfacePendingResult<T>
-
param
protected A param(java.lang.String key, java.lang.String val) -
param
protected A param(java.lang.String key, int val) -
param
-
paramAddToList
protected A paramAddToList(java.lang.String key, java.lang.String val) -
paramAddToList
-
params
protected java.util.Map<java.lang.String,java.util.List<java.lang.String>> params() -
language
public final A language(java.lang.String language)The language in which to return results. Note that we often update supported languages so this list may not be exhaustive.- Parameters:
language- The language code, e.g. "en-AU" or "es".- Returns:
- Returns the request for call chaining.
- See Also:
- List of supported domain languages
-
channel
public A channel(java.lang.String channel)A channel to pass with the request. channel is used by Google Maps API for Work users to be able to track usage across different applications with the same clientID. See Premium Plan Usage Rates and Limits.- Parameters:
channel- String to pass with the request for analytics.- Returns:
- Returns the request for call chaining.
-
custom
public A custom(java.lang.String parameter, java.lang.String value)Custom parameter. For advanced usage only.- Parameters:
parameter- The name of the custom parameter.value- The value of the custom parameter.- Returns:
- Returns the request for call chaining.
-