New pricing changes went into effect on July 16, 2018. For more information, check out the Guide for Existing Users.

Directions

DirectionsService class

google.maps.DirectionsService class

A service for computing directions between two or more places.

Constructor
DirectionsService
DirectionsService()
Parameters:  None
Creates a new instance of a DirectionsService that sends directions queries to Google servers.
Methods
route
route(request, callback)
Parameters: 
Return Value:  None
Issue a directions search request.

DirectionsRequest interface

google.maps.DirectionsRequest interface

A directions query to be sent to the DirectionsService.

Properties
avoidFerries
Type:  boolean
If true, instructs the Directions service to avoid ferries where possible. Optional.
avoidHighways
Type:  boolean
If true, instructs the Directions service to avoid highways where possible. Optional.
avoidTolls
Type:  boolean
If true, instructs the Directions service to avoid toll roads where possible. Optional.
destination
Type:  string|LatLng|Place|LatLngLiteral
Location of destination. This can be specified as either a string to be geocoded, or a LatLng, or a Place. Required.
drivingOptions
Settings that apply only to requests where travelMode is DRIVING. This object will have no effect for other travel modes.
optimizeWaypoints
Type:  boolean
If set to true, the DirectionsService will attempt to re-order the supplied intermediate waypoints to minimize overall cost of the route. If waypoints are optimized, inspect DirectionsRoute.waypoint_order in the response to determine the new ordering.
origin
Type:  string|LatLng|Place|LatLngLiteral
Location of origin. This can be specified as either a string to be geocoded, or a LatLng, or a Place. Required.
provideRouteAlternatives
Type:  boolean
Whether or not route alternatives should be provided. Optional.
region
Type:  string
Region code used as a bias for geocoding requests. Optional.
transitOptions
Settings that apply only to requests where travelMode is TRANSIT. This object will have no effect for other travel modes.
travelMode
Type:  TravelMode
Type of routing requested. Required.
unitSystem
Type:  UnitSystem
Preferred unit system to use when displaying distance. Defaults to the unit system used in the country of origin.
waypoints
Type:  Array<DirectionsWaypoint>
Array of intermediate waypoints. Directions are calculated from the origin to the destination by way of each waypoint in this array. See the developer's guide for the maximum number of waypoints allowed. Waypoints are not supported for transit directions. Optional.

DirectionsStatus constants

google.maps.DirectionsStatus constants

The status returned by the DirectionsService on the completion of a call to route(). Specify these by value, or by using the constant's name. For example, 'OK' or google.maps.DirectionsStatus.OK.

Constants
INVALID_REQUEST The DirectionsRequest provided was invalid.
MAX_WAYPOINTS_EXCEEDED Too many DirectionsWaypoints were provided in the DirectionsRequest. See the developer's guide for the maximum number of waypoints allowed.
NOT_FOUND At least one of the origin, destination, or waypoints could not be geocoded.
OK The response contains a valid DirectionsResult.
OVER_QUERY_LIMIT The webpage has gone over the requests limit in too short a period of time.
REQUEST_DENIED The webpage is not allowed to use the directions service.
UNKNOWN_ERROR A directions request could not be processed due to a server error. The request may succeed if you try again.
ZERO_RESULTS No route could be found between the origin and destination.

DirectionsResult interface

google.maps.DirectionsResult interface

The directions response retrieved from the directions server. You can render these using a DirectionsRenderer or parse this object and render it yourself. You must display the warnings and copyrights as noted in the Google Maps Platform Terms of Service. Note that though this result is "JSON-like," it is not strictly JSON, as it indirectly includes LatLng objects.

Properties
geocoded_waypoints
An array of DirectionsGeocodedWaypoints, each of which contains information about the geocoding of origin, destination and waypoints.
routes
Type:  Array<DirectionsRoute>
An array of DirectionsRoutes, each of which contains information about the legs and steps of which it is composed. There will only be one route unless the DirectionsRequest was made with provideRouteAlternatives set to true.

DirectionsRenderer class

google.maps.DirectionsRenderer class

Renders directions obtained from the DirectionsService.

This class extends MVCObject.

Constructor
DirectionsRenderer
DirectionsRenderer([opts])
Parameters: 
Creates the renderer with the given options. Directions can be rendered on a map (as visual overlays) or additionally on a <div> panel (as textual instructions).
Methods
getDirections
getDirections()
Parameters:  None
Return Value:  DirectionsResult
Returns the renderer's current set of directions.
getMap
getMap()
Parameters:  None
Return Value:  Map
Returns the map on which the DirectionsResult is rendered.
getPanel
getPanel()
Parameters:  None
Return Value:  Node
Returns the panel <div> in which the DirectionsResult is rendered.
getRouteIndex
getRouteIndex()
Parameters:  None
Return Value:  number
Returns the current (zero-based) route index in use by this DirectionsRenderer object.
setDirections
setDirections(directions)
Parameters: 
Return Value:  None
Set the renderer to use the result from the DirectionsService. Setting a valid set of directions in this manner will display the directions on the renderer's designated map and panel.
setMap
setMap(map)
Parameters: 
Return Value:  None
This method specifies the map on which directions will be rendered. Pass null to remove the directions from the map.
setOptions
setOptions(options)
Parameters: 
Return Value:  None
Change the options settings of this DirectionsRenderer after initialization.
setPanel
setPanel(panel)
Parameters: 
  • panelNode
Return Value:  None
This method renders the directions in a <div>. Pass null to remove the content from the panel.
setRouteIndex
setRouteIndex(routeIndex)
Parameters: 
  • routeIndexnumber
Return Value:  None
Set the (zero-based) index of the route in the DirectionsResult object to render. By default, the first route in the array will be rendered.
Events
directions_changed
function()
Arguments:  None
This event is fired when the rendered directions change, either when a new DirectionsResult is set or when the user finishes dragging a change to the directions path.

DirectionsRendererOptions interface

google.maps.DirectionsRendererOptions interface

This object defines the properties that can be set on a DirectionsRenderer object.

Properties
directions
The directions to display on the map and/or in a <div> panel, retrieved as a DirectionsResult object from DirectionsService.
draggable
Type:  boolean
If true, allows the user to drag and modify the paths of routes rendered by this DirectionsRenderer.
hideRouteList
Type:  boolean
This property indicates whether the renderer should provide UI to select amongst alternative routes. By default, this flag is false and a user-selectable list of routes will be shown in the directions' associated panel. To hide that list, set hideRouteList to true.
infoWindow
Type:  InfoWindow
The InfoWindow in which to render text information when a marker is clicked. Existing info window content will be overwritten and its position moved. If no info window is specified, the DirectionsRenderer will create and use its own info window. This property will be ignored if suppressInfoWindows is set to true.
map
Type:  Map
Map on which to display the directions.
markerOptions
Options for the markers. All markers rendered by the DirectionsRenderer will use these options.
panel
Type:  Node
The <div> in which to display the directions steps.
polylineOptions
Options for the polylines. All polylines rendered by the DirectionsRenderer will use these options.
preserveViewport
Type:  boolean
By default, the input map is centered and zoomed to the bounding box of this set of directions. If this option is set to true, the viewport is left unchanged, unless the map's center and zoom were never set.
routeIndex
Type:  number
The index of the route within the DirectionsResult object. The default value is 0.
suppressBicyclingLayer
Type:  boolean
Suppress the rendering of the BicyclingLayer when bicycling directions are requested.
suppressInfoWindows
Type:  boolean
Suppress the rendering of info windows.
suppressMarkers
Type:  boolean
Suppress the rendering of markers.
suppressPolylines
Type:  boolean
Suppress the rendering of polylines.

DirectionsWaypoint interface

google.maps.DirectionsWaypoint interface

A DirectionsWaypoint represents a location between origin and destination through which the trip should be routed.

Properties
location
Type:  string|LatLng|Place
Waypoint location. Can be an address string, a LatLng, or a Place. Optional.
stopover
Type:  boolean
If true, indicates that this waypoint is a stop between the origin and destination. This has the effect of splitting the route into two legs. If false, indicates that the route should be biased to go through this waypoint, but not split into two legs. This is useful if you want to create a route in response to the user dragging waypoints on a map. This value is true by default. Optional.

DirectionsGeocodedWaypoint interface

google.maps.DirectionsGeocodedWaypoint interface

A single geocoded waypoint.

Properties
partial_match
Type:  boolean
Whether the geocoder did not return an exact match for the original waypoint, though it was able to match part of the requested address.
place_id
Type:  string
The place ID associated with the waypoint. Place IDs uniquely identify a place in the Google Places database and on Google Maps. Learn more about Place IDs in the Places API developer guide.
types
Type:  Array<string>
An array of strings denoting the type of the returned geocoded element. For a list of possible strings, refer to the Address Component Types section of the Developer's Guide.

DirectionsRoute interface

google.maps.DirectionsRoute interface

A single route containing a set of legs in a DirectionsResult. Note that though this object is "JSON-like," it is not strictly JSON, as it directly and indirectly includes LatLng objects.

Properties
bounds
Type:  LatLngBounds
The bounds for this route.
copyrights
Type:  string
Copyrights text to be displayed for this route.
fare
Type:  TransitFare
The total fare for the whole transit trip. Only applicable to transit requests.
legs
Type:  Array<DirectionsLeg>
An array of DirectionsLegs, each of which contains information about the steps of which it is composed. There will be one leg for each stopover waypoint or destination specified. So a route with no stopover waypoints will contain one DirectionsLeg and a route with one stopover waypoint will contain two.
overview_path
Type:  Array<LatLng>
An array of LatLngs representing the entire course of this route. The path is simplified in order to make it suitable in contexts where a small number of vertices is required (such as Static Maps API URLs).
overview_polyline
Type:  string
An encoded polyline representation of the route in overview_path. This polyline is an approximate (smoothed) path of the resulting directions.
warnings
Type:  Array<string>
Warnings to be displayed when showing these directions.
waypoint_order
Type:  Array<number>
If optimizeWaypoints was set to true, this field will contain the re-ordered permutation of the input waypoints. For example, if the input was:
  Origin: Los Angeles
  Waypoints: Dallas, Bangor, Phoenix
  Destination: New York
and the optimized output was ordered as follows:
  Origin: Los Angeles
  Waypoints: Phoenix, Dallas, Bangor
  Destination: New York
then this field will be an Array containing the values [2, 0, 1]. Note that the numbering of waypoints is zero-based.
If any of the input waypoints has stopover set to false, this field will be empty, since route optimization is not available for such queries.

DirectionsLeg interface

google.maps.DirectionsLeg interface

A single leg consisting of a set of steps in a DirectionsResult. Some fields in the leg may not be returned for all requests. Note that though this result is "JSON-like," it is not strictly JSON, as it directly and indirectly includes LatLng objects.

Properties
arrival_time
Type:  Time
An estimated arrival time for this leg. Only applicable for TRANSIT requests.
departure_time
Type:  Time
An estimated departure time for this leg. Only applicable for TRANSIT requests.
distance
Type:  Distance
The total distance covered by this leg. This property may be undefined as the distance may be unknown.
duration
Type:  Duration
The total duration of this leg. This property may be undefined as the duration may be unknown.
duration_in_traffic
Type:  Duration
The total duration of this leg, 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.
end_address
Type:  string
The address of the destination of this leg.
end_location
Type:  LatLng
The DirectionsService calculates directions between locations by using the nearest transportation option (usually a road) at the start and end locations. end_location indicates the actual geocoded destination, which may be different than the end_location of the last step if, for example, the road is not near the destination of this leg.
start_address
Type:  string
The address of the origin of this leg.
start_location
Type:  LatLng
The DirectionsService calculates directions between locations by using the nearest transportation option (usually a road) at the start and end locations. start_location indicates the actual geocoded origin, which may be different than the start_location of the first step if, for example, the road is not near the origin of this leg.
steps
Type:  Array<DirectionsStep>
An array of DirectionsSteps, each of which contains information about the individual steps in this leg.
via_waypoints
Type:  Array<LatLng>
An array of non-stopover waypoints along this leg, which were specified in the original request.

Deprecated in alternative routes. Version 3.27 will be the last version of the API that adds extra via_waypoints in alternative routes.

When using the Directions Service to implement draggable directions, it is recommended to disable dragging of alternative routes. Only the main route should be draggable. Users can drag the main route until it matches an alternative route.

DirectionsStep interface

google.maps.DirectionsStep interface

A single DirectionsStep in a DirectionsResult. Some fields may be undefined. Note that though this object is "JSON-like," it is not strictly JSON, as it directly includes LatLng objects.

Properties
distance
Type:  Distance
The distance covered by this step. This property may be undefined as the distance may be unknown.
duration
Type:  Duration
The typical time required to perform this step in seconds and in text form. This property may be undefined as the duration may be unknown.
end_location
Type:  LatLng
The ending location of this step.
instructions
Type:  string
Instructions for this step.
path
Type:  Array<LatLng>
A sequence of LatLngs describing the course of this step.
start_location
Type:  LatLng
The starting location of this step.
steps
Type:  Array<DirectionsStep>
Sub-steps of this step. Specified for non-transit sections of transit routes.
transit
Transit-specific details about this step. This property will be undefined unless the travel mode of this step is TRANSIT.
travel_mode
Type:  TravelMode
The mode of travel used in this step.

Place interface

google.maps.Place interface

Contains all the information needed to locate, identify and describe the place that the user can save from within your application. In this context, 'place' means a business, point of interest or geographic location.

Properties
location
The LatLng of the entity described by this place. This must be provided for the Place to be considered valid.
placeId
Type:  string
The place ID of the place (such as a business or point of interest). The place ID is a unique identifier of a place in the Google Maps database. Note that the placeId is the most accurate way of identifying a place. If possible, you should specify the placeId rather than a placeQuery. A place ID can be retrieved from any request to the Places API, such as a TextSearch. Place IDs can also be retrieved from requests to the Geocoding API. For more information, see the overview of place IDs.
query
Type:  string
A search query describing the place (such as a business or point of interest). An example query is "Quay, Upper Level, Overseas Passenger Terminal 5 Hickson Road, The Rocks NSW". If possible, you should specify the placeId rather than a placeQuery. The API does not guarantee the accuracy of resolving the query string to a place. If both the placeId and placeQuery are provided, an error occurs.

TravelMode constants

google.maps.TravelMode constants

The valid travel modes that can be specified in a DirectionsRequest as well as the travel modes returned in a DirectionsStep. Specify these by value, or by using the constant's name. For example, 'BICYCLING' or google.maps.TravelMode.BICYCLING.

Constants
BICYCLING Specifies a bicycling directions request.
DRIVING Specifies a driving directions request.
TRANSIT Specifies a transit directions request.
WALKING Specifies a walking directions request.

DrivingOptions interface

google.maps.DrivingOptions interface

Configures the DirectionsRequest when the travel mode is set to DRIVING.

Properties
departureTime
Type:  Date
The desired departure time for the route, specified as a Date object. The Date object measures time in milliseconds since 1 January 1970. This must be specified for a DrivingOptions to be valid. The departure time must be set to the current time or some time in the future. It cannot be in the past.
trafficModel
Type:  TrafficModel
The preferred assumption to use when predicting duration in traffic. The default is BEST_GUESS.

TrafficModel constants

google.maps.TrafficModel constants

The assumptions to use when predicting duration in traffic. Specified as part of a DirectionsRequest or DistanceMatrixRequest. Specify these by value, or by using the constant's name. For example, 'bestguess' or google.maps.TrafficModel.BEST_GUESS.

Constants
BEST_GUESS Use historical traffic data to best estimate the time spent in traffic.
OPTIMISTIC Use historical traffic data to make an optimistic estimate of what the duration in traffic will be.
PESSIMISTIC Use historical traffic data to make a pessimistic estimate of what the duration in traffic will be.

TransitOptions interface

google.maps.TransitOptions interface

The TransitOptions object to be included in a DirectionsRequest when the travel mode is set to TRANSIT.

Properties
arrivalTime
Type:  Date
The desired arrival time for the route, specified as a Date object. The Date object measures time in milliseconds since 1 January 1970. If arrival time is specified, departure time is ignored.
departureTime
Type:  Date
The desired departure time for the route, specified as a Date object. The Date object measures time in milliseconds since 1 January 1970. If neither departure time nor arrival time is specified, the time is assumed to be "now".
modes
Type:  Array<TransitMode>
One or more preferred modes of transit, such as bus or train. If no preference is given, the API returns the default best route.
routingPreference
A preference that can bias the choice of transit route, such as less walking. If no preference is given, the API returns the default best route.

TransitMode constants

google.maps.TransitMode constants

The valid transit mode e.g. bus that can be specified in a TransitOptions. Specify these by value, or by using the constant's name. For example, 'BUS' or google.maps.TransitMode.BUS.

Constants
BUS Specifies bus as a preferred mode of transit.
RAIL Specifies rail as a preferred mode of transit.
SUBWAY Specifies subway as a preferred mode of transit.
TRAIN Specifies train as a preferred mode of transit.
TRAM Specifies tram as a preferred mode of transit.

TransitRoutePreference constants

google.maps.TransitRoutePreference constants

The valid transit route type that can be specified in a TransitOptions. Specify these by value, or by using the constant's name. For example, 'LESS_WALKING' or google.maps.TransitRoutePreference.LESS_WALKING.

Constants
FEWER_TRANSFERS Specifies that the calculated route should prefer a limited number of transfers.
LESS_WALKING Specifies that the calculated route should prefer limited amounts of walking.

TransitFare interface

google.maps.TransitFare interface

A fare of a DirectionsRoute consisting of value and currency.

Properties
currency
Type:  string
An ISO 4217 currency code indicating the currency in which the fare is expressed.
value
Type:  number
The numerical value of the fare, expressed in the given currency.

TransitDetails interface

google.maps.TransitDetails interface

Details about the departure, arrival, and mode of transit used in this step.

Properties
arrival_stop
Type:  TransitStop
The arrival stop of this transit step.
arrival_time
Type:  Time
The arrival time of this step, specified as a Time object.
departure_stop
Type:  TransitStop
The departure stop of this transit step.
departure_time
Type:  Time
The departure time of this step, specified as a Time object.
headsign
Type:  string
The direction in which to travel on this line, as it is marked on the vehicle or at the departure stop.
headway
Type:  number
The expected number of seconds between equivalent vehicles at this stop.
line
Type:  TransitLine
Details about the transit line used in this step.
num_stops
Type:  number
The number of stops on this step. Includes the arrival stop, but not the departure stop.

TransitStop interface

google.maps.TransitStop interface

Details about a transit stop or station.

Properties
location
Type:  LatLng
The location of this stop.
name
Type:  string
The name of this transit stop.

TransitLine interface

google.maps.TransitLine interface

Information about the transit line that operates this transit step.

Properties
agencies
Type:  Array<TransitAgency>
The transit agency that operates this transit line.
color
Type:  string
The color commonly used in signage for this transit line, represented as a hex string.
icon
Type:  string
The URL for an icon associated with this line.
name
Type:  string
The full name of this transit line, e.g. "8 Avenue Local".
short_name
Type:  string
The short name of this transit line, e.g. "E".
text_color
Type:  string
The text color commonly used in signage for this transit line, represented as a hex string.
url
Type:  string
The agency's URL which is specific to this transit line.
vehicle
The type of vehicle used, e.g. train or bus.

TransitAgency interface

google.maps.TransitAgency interface

Information about an agency that operates a transit line.

Properties
name
Type:  string
The name of this transit agency.
phone
Type:  string
The transit agency's phone number.
url
Type:  string
The transit agency's URL.

TransitVehicle interface

google.maps.TransitVehicle interface

Information about the vehicle that operates on a transit line.

Properties
icon
Type:  string
A URL for an icon that corresponds to the type of vehicle used on this line.
local_icon
Type:  string
A URL for an icon that corresponds to the type of vehicle used in this region instead of the more general icon.
name
Type:  string
A name for this type of TransitVehicle, e.g. "Train" or "Bus".
type
Type:  VehicleType
The type of vehicle used, e.g. train, bus, or ferry.

VehicleType constants

google.maps.VehicleType constants

Possible values for vehicle types. These values are specifed as strings, i.e. 'BUS' or 'TRAIN'.

Constants
BUS Bus.
CABLE_CAR A vehicle that operates on a cable, usually on the ground. Aerial cable cars may be of the type GONDOLA_LIFT.
COMMUTER_TRAIN Commuter rail.
FERRY Ferry.
FUNICULAR A vehicle that is pulled up a steep incline by a cable.
GONDOLA_LIFT An aerial cable car.
HEAVY_RAIL Heavy rail.
HIGH_SPEED_TRAIN High speed train.
INTERCITY_BUS Intercity bus.
METRO_RAIL Light rail.
MONORAIL Monorail.
OTHER Other vehicles.
RAIL Rail.
SHARE_TAXI Share taxi is a sort of bus transport with ability to drop off and pick up passengers anywhere on its route. Generally share taxi uses minibus vehicles.
SUBWAY Underground light rail.
TRAM Above ground light rail.
TROLLEYBUS Trolleybus.

UnitSystem constants

google.maps.UnitSystem constants

The valid unit systems that can be specified in a DirectionsRequest.

Constants
IMPERIAL Specifies that distances in the DirectionsResult should be expressed in imperial units.
METRIC Specifies that distances in the DirectionsResult should be expressed in metric units.

Distance interface

google.maps.Distance interface

A representation of distance as a numeric value and a display string.

Properties
text
Type:  string
A string representation of the distance value, using the UnitSystem specified in the request.
value
Type:  number
The distance in meters.

Duration interface

google.maps.Duration interface

A representation of duration as a numeric value and a display string.

Properties
text
Type:  string
A string representation of the duration value.
value
Type:  number
The duration in seconds.

Time interface

google.maps.Time interface

A representation of time as a Date object, a localized string, and a time zone.

Properties
text
Type:  string
A string representing the time's value. The time is displayed in the time zone of the transit stop.
time_zone
Type:  string
The time zone in which this stop lies. The value is the name of the time zone as defined in the IANA Time Zone Database, e.g. "America/New_York".
value
Type:  Date
The time of this departure or arrival, specified as a JavaScript Date object.

Envoyer des commentaires concernant…

Maps JavaScript API
Besoin d'aide ? Consultez notre page d'assistance.