Distance Matrix

DistanceMatrixService class

google.maps.DistanceMatrixService class

A service for computing distances between multiple origins and destinations.

Access by calling const {DistanceMatrixService} = await google.maps.importLibrary("routes"). See Libraries in the Maps JavaScript API.

DistanceMatrixService
DistanceMatrixService()
Parameters:  None
Creates a new instance of a DistanceMatrixService that sends distance matrix queries to Google servers.
getDistanceMatrix
getDistanceMatrix(request[, callback])
Parameters: 
Issues a distance matrix request.

DistanceMatrixRequest interface

google.maps.DistanceMatrixRequest interface

A distance matrix query sent by the DistanceMatrixService containing arrays of origin and destination locations, and various options for computing metrics.

destinations
An array containing destination address strings, or LatLng, or Place objects, to which to calculate distance and time. Required.
origins
An array containing origin address strings, or LatLng, or Place objects, from which to calculate distance and time. Required.
travelMode
Type:  TravelMode
Type of routing requested. Required.
avoidFerries optional
Type:  boolean optional
If true, instructs the Distance Matrix service to avoid ferries where possible. Optional.
avoidHighways optional
Type:  boolean optional
If true, instructs the Distance Matrix service to avoid highways where possible. Optional.
avoidTolls optional
Type:  boolean optional
If true, instructs the Distance Matrix service to avoid toll roads where possible. Optional.
drivingOptions optional
Type:  DrivingOptions optional
Settings that apply only to requests where travelMode is DRIVING. This object will have no effect for other travel modes.
language optional
Type:  string optional
A language identifier for the language in which results should be returned, when possible. See the list of supported languages.
region optional
Type:  string optional
Region code used as a bias for geocoding requests. The region code accepts a ccTLD ("top-level domain") two-character value. Most ccTLD codes are identical to ISO 3166-1 codes, with some notable exceptions. For example, the United Kingdom's ccTLD is "uk" (.co.uk) while its ISO 3166-1 code is "gb" (technically for the entity of "The United Kingdom of Great Britain and Northern Ireland").
transitOptions optional
Type:  TransitOptions optional
Settings that apply only to requests where travelMode is TRANSIT. This object will have no effect for other travel modes.
unitSystem optional
Type:  UnitSystem optional
Preferred unit system to use when displaying distance. Optional; defaults to metric.

DistanceMatrixResponse interface

google.maps.DistanceMatrixResponse interface

The response to a DistanceMatrixService request, consisting of the formatted origin and destination addresses, and a sequence of DistanceMatrixResponseRows, one for each corresponding origin address.

destinationAddresses
Type:  Array<string>
The formatted destination addresses.
originAddresses
Type:  Array<string>
The formatted origin addresses.
rows
The rows of the matrix, corresponding to the origin addresses.

DistanceMatrixResponseRow interface

google.maps.DistanceMatrixResponseRow interface

A row of the response to a DistanceMatrixService request, consisting of a sequence of DistanceMatrixResponseElements, one for each corresponding destination address.

elements
The row's elements, corresponding to the destination addresses.

DistanceMatrixResponseElement interface

google.maps.DistanceMatrixResponseElement interface

A single element of a response to a DistanceMatrixService request, which contains the duration and distance from one origin to one destination.

distance
Type:  Distance
The distance for this origin-destination pairing. This property may be undefined as the distance may be unknown.
duration
Type:  Duration
The duration for this origin-destination pairing. This property may be undefined as the duration may be unknown.
duration_in_traffic
Type:  Duration
The duration for this origin-destination pairing, taking into account the traffic conditions indicated by the trafficModel property. This property may be undefined as the duration may be unknown. Only available to Premium Plan customers when drivingOptions is defined when making the request.
fare
Type:  TransitFare
The total fare for this origin-destination pairing. Only applicable to transit requests.
status
The status of this particular origin-destination pairing.

DistanceMatrixStatus constants

google.maps.DistanceMatrixStatus constants

The top-level status about the request in general returned by the DistanceMatrixService upon completion of a distance matrix request. Specify these by value, or by using the constant's name. For example, 'OK' or google.maps.DistanceMatrixStatus.OK.

Access by calling const {DistanceMatrixStatus} = await google.maps.importLibrary("routes"). See Libraries in the Maps JavaScript API.

INVALID_REQUEST The provided request was invalid.
MAX_DIMENSIONS_EXCEEDED The request contains more than 25 origins, or more than 25 destinations.
MAX_ELEMENTS_EXCEEDED The product of origins and destinations exceeds the per-query limit.
OK The response contains a valid result.
OVER_QUERY_LIMIT Too many elements have been requested within the allowed time period. The request should succeed if you try again after some time.
REQUEST_DENIED The service denied use of the Distance Matrix service by your web page.
UNKNOWN_ERROR A Distance Matrix request could not be processed due to a server error. The request may succeed if you try again.

DistanceMatrixElementStatus constants

google.maps.DistanceMatrixElementStatus constants

The element-level status about a particular origin-destination pairing returned by the DistanceMatrixService upon completion of a distance matrix request. These values are specified as strings, for example, 'OK'.

Access by calling const {DistanceMatrixElementStatus} = await google.maps.importLibrary("routes"). See Libraries in the Maps JavaScript API.

NOT_FOUND The origin and/or destination of this pairing could not be geocoded.
OK The response contains a valid result.
ZERO_RESULTS No route could be found between the origin and destination.