Distance Matrix

DistanceMatrixService class

google.maps.DistanceMatrixService class

A service for computing distances between multiple origins and destinations.

Access by callingconst {DistanceMatrixService} = await google.maps.importLibrary( "routes" ).SeeLibraries in the Maps JavaScript API.

DistanceMatrixService
DistanceMatrixService()
Parameters:None
Creates a new instance of aDistanceMatrixServicethat 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 theDistanceMatrixServicecontaining arrays of origin and destination locations, and various options for computing metrics.

destinations
An array containing destination address strings, orLatLng,orPlaceobjects, to which to calculate distance and time. Required.
origins
An array containing origin address strings, orLatLng,orPlaceobjects, from which to calculate distance and time. Required.
travelMode
Type of routing requested. Required.
avoidFerriesoptional
Type:booleanoptional
Iftrue,instructs the Distance Matrix service to avoid ferries where possible. Optional.
avoidHighwaysoptional
Type:booleanoptional
Iftrue,instructs the Distance Matrix service to avoid highways where possible. Optional.
avoidTollsoptional
Type:booleanoptional
Iftrue,instructs the Distance Matrix service to avoid toll roads where possible. Optional.
drivingOptionsoptional
Type:DrivingOptionsoptional
Settings that apply only to requests wheretravelModeisDRIVING.This object will have no effect for other travel modes.
languageoptional
Type:stringoptional
A language identifier for the language in which results should be returned, when possible. See thelist of supported languages.
regionoptional
Type:stringoptional
Region code used as a bias for geocoding requests. The region code accepts accTLD ( "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" ).
transitOptionsoptional
Type:TransitOptionsoptional
Settings that apply only to requests wheretravelModeis TRANSIT. This object will have no effect for other travel modes.
unitSystemoptional
Type:UnitSystemoptional
Preferred unit system to use when displaying distance. Optional; defaults to metric.

DistanceMatrixResponse interface

google.maps.DistanceMatrixResponse interface

The response to aDistanceMatrixServicerequest, consisting of the formatted origin and destination addresses, and a sequence ofDistanceMatrixResponseRows, 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 aDistanceMatrixServicerequest, consisting of a sequence ofDistanceMatrixResponseElements, 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 aDistanceMatrixServicerequest, which contains the duration and distance from one origin to one destination.

distance
The distance for this origin-destination pairing. This property may be undefined as the distance may be unknown.
duration
The duration for this origin-destination pairing. This property may be undefined as the duration may be unknown.
duration_in_traffic
The duration for this origin-destination pairing, taking into account the traffic conditions indicated by thetrafficModelproperty. This property may beundefinedas the duration may be unknown. Only available to Premium Plan customers whendrivingOptionsis defined when making the request.
fare
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 theDistanceMatrixServiceupon completion of a distance matrix request. Specify these by value, or by using the constant's name. For example,'OK'orgoogle.maps.DistanceMatrixStatus.OK.

Access by callingconst {DistanceMatrixStatus} = await google.maps.importLibrary( "routes" ).SeeLibraries 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 theDistanceMatrixServiceupon completion of a distance matrix request. These values are specified as strings, for example,'OK'.

Access by callingconst {DistanceMatrixElementStatus} = await google.maps.importLibrary( "routes" ).SeeLibraries 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.