Package com.google.maps
Class DistanceMatrixApiRequest
- java.lang.Object
-
- com.google.maps.DistanceMatrixApiRequest
-
- All Implemented Interfaces:
PendingResult<DistanceMatrix>
public class DistanceMatrixApiRequest extends java.lang.ObjectA request to the Distance Matrix API.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface com.google.maps.PendingResult
PendingResult.Callback<T>
-
-
Constructor Summary
Constructors Constructor Description DistanceMatrixApiRequest(GeoApiContext context)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description DistanceMatrixApiRequestarrivalTime(java.time.Instant arrivalTime)Specifies the desired time of arrival for transit requests.DistanceMatrixApiRequestavoid(DirectionsApi.RouteRestriction restriction)Introduces restrictions to the route.Tawait()Performs the request synchronously.TawaitIgnoreError()Performs the request synchronously, ignoring exceptions while performing the request and errors returned by the server.voidcancel()Attempts to cancel the request.Achannel(java.lang.String channel)A channel to pass with the request.Acustom(java.lang.String parameter, java.lang.String value)Custom parameter.DistanceMatrixApiRequestdepartureTime(java.time.Instant departureTime)Specifies the desired time of departure.DistanceMatrixApiRequestdestinations(LatLng... points)One or more latitude/longitude values to which to calculate distance and time.DistanceMatrixApiRequestdestinations(java.lang.String... destinations)One or more addresses to which to calculate distance and time.Alanguage(java.lang.String language)The language in which to return results.DistanceMatrixApiRequestmode(TravelMode mode)Specifies the mode of transport to use when calculating directions.DistanceMatrixApiRequestorigins(LatLng... points)One or more latitude/longitude values from which to calculate distance and time.DistanceMatrixApiRequestorigins(java.lang.String... origins)One or more addresses from which to calculate distance and time.protected Aparam(java.lang.String key, int val)protected Aparam(java.lang.String key, com.google.maps.internal.StringJoin.UrlValue val)protected Aparam(java.lang.String key, java.lang.String val)protected AparamAddToList(java.lang.String key, com.google.maps.internal.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()voidsetCallback(PendingResult.Callback<T> callback)DistanceMatrixApiRequesttrafficModel(TrafficModel trafficModel)Specifies the assumptions to use when calculating time in traffic.DistanceMatrixApiRequesttransitModes(TransitMode... transitModes)Specifies one or more preferred modes of transit.DistanceMatrixApiRequesttransitRoutingPreference(TransitRoutingPreference pref)Specifies preferences for transit requests.DistanceMatrixApiRequestunits(Unit unit)Specifies the unit system to use when expressing distance as text.protected voidvalidateRequest()
-
-
-
Constructor Detail
-
DistanceMatrixApiRequest
public DistanceMatrixApiRequest(GeoApiContext context)
-
-
Method Detail
-
validateRequest
protected void validateRequest()
-
origins
public DistanceMatrixApiRequest origins(java.lang.String... origins)
One or more addresses from which to calculate distance and time. The service will geocode the strings and convert them to latitude/longitude coordinates to calculate directions.- Parameters:
origins- Strings to geocode and use as an origin point (e.g. "New York, NY")- Returns:
- Returns this
DistanceMatrixApiRequestfor call chaining.
-
origins
public DistanceMatrixApiRequest origins(LatLng... points)
One or more latitude/longitude values from which to calculate distance and time.- Parameters:
points- The origin points.- Returns:
- Returns this
DistanceMatrixApiRequestfor call chaining.
-
destinations
public DistanceMatrixApiRequest destinations(java.lang.String... destinations)
One or more addresses to which to calculate distance and time. The service will geocode the strings and convert them to latitude/longitude coordinates to calculate directions.- Parameters:
destinations- Strings to geocode and use as a destination point (e.g. "Jersey City, NJ")- Returns:
- Returns this
DistanceMatrixApiRequestfor call chaining.
-
destinations
public DistanceMatrixApiRequest destinations(LatLng... points)
One or more latitude/longitude values to which to calculate distance and time.- Parameters:
points- The destination points.- Returns:
- Returns this
DistanceMatrixApiRequestfor call chaining.
-
mode
public DistanceMatrixApiRequest mode(TravelMode mode)
Specifies the mode of transport to use when calculating directions.Note that Distance Matrix requests only support
TravelMode.DRIVING,TravelMode.WALKINGandTravelMode.BICYCLING.- Parameters:
mode- One of the travel modes supported by the Distance Matrix API.- Returns:
- Returns this
DistanceMatrixApiRequestfor call chaining.
-
avoid
public DistanceMatrixApiRequest avoid(DirectionsApi.RouteRestriction restriction)
Introduces restrictions to the route. Only one restriction can be specified.- Parameters:
restriction- One ofDirectionsApi.RouteRestriction.TOLLS,DirectionsApi.RouteRestriction.FERRIESorDirectionsApi.RouteRestriction.HIGHWAYS.- Returns:
- Returns this
DistanceMatrixApiRequestfor call chaining.
-
units
public DistanceMatrixApiRequest units(Unit unit)
Specifies the unit system to use when expressing distance as text. Distance Matrix results contain text within distance fields to indicate the distance of the calculated route.- Parameters:
unit- One ofUnit.METRICorUnit.IMPERIAL.- Returns:
- Returns this
DistanceMatrixApiRequestfor call chaining. - See Also:
- Unit systems in the Distance Matrix API
-
departureTime
public DistanceMatrixApiRequest departureTime(java.time.Instant departureTime)
Specifies the desired time of departure.The departure time may be specified in two cases:
- For requests where the travel mode is transit: You can optionally specify one of departure_time or arrival_time. If neither time is specified, the departure_time defaults to now. (That is, the departure time defaults to the current time.)
- For requests where the travel mode is driving: Google Maps API for Work customers can specify the departure_time to receive trip duration considering current traffic conditions. The departure_time must be set to within a few minutes of the current time.
Setting the parameter to null will remove it from the API request.
- Parameters:
departureTime- The time of departure.- Returns:
- Returns this
DistanceMatrixApiRequestfor call chaining.
-
trafficModel
public DistanceMatrixApiRequest trafficModel(TrafficModel trafficModel)
Specifies the assumptions to use when calculating time in traffic. This parameter may only be specified when the travel mode is driving and the request includes a departure_time.- Parameters:
trafficModel- The traffic model to use in estimating time in traffic.- Returns:
- Returns this
DistanceMatrixApiRequestfor call chaining.
-
arrivalTime
public DistanceMatrixApiRequest arrivalTime(java.time.Instant arrivalTime)
Specifies the desired time of arrival for transit requests. You can specify either departure_time or arrival_time, but not both.- Parameters:
arrivalTime- The preferred arrival time.- Returns:
- Returns this
DistanceMatrixApiRequestfor call chaining.
-
transitModes
public DistanceMatrixApiRequest transitModes(TransitMode... transitModes)
Specifies one or more preferred modes of transit. This parameter may only be specified for requests where the mode is transit.- Parameters:
transitModes- The preferred transit modes.- Returns:
- Returns this
DistanceMatrixApiRequestfor call chaining.
-
transitRoutingPreference
public DistanceMatrixApiRequest transitRoutingPreference(TransitRoutingPreference pref)
Specifies preferences for transit requests. Using this parameter, you can bias the options returned, rather than accepting the default best route chosen by the API.- Parameters:
pref- The transit routing preference for this distance matrix.- Returns:
- Returns this
DistanceMatrixApiRequestfor call chaining.
-
setCallback
public final void setCallback(PendingResult.Callback<T> callback)
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
public final T await() throws ApiException, java.lang.InterruptedException, java.io.IOExceptionDescription 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
protected A param(java.lang.String key, com.google.maps.internal.StringJoin.UrlValue val)
-
paramAddToList
protected A paramAddToList(java.lang.String key, java.lang.String val)
-
paramAddToList
protected A paramAddToList(java.lang.String key, com.google.maps.internal.StringJoin.UrlValue val)
-
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.
-
-