Directions

DirectionsService

google.maps.DirectionsService

用于计算两个或多个位置之间路线的服务。

通过调用 const {DirectionsService} = await google.maps.importLibrary("routes") 进行访问。
请参阅 Maps JavaScript API 中的库

DirectionsService
DirectionsService()
参数:无
创建 DirectionsService 的新实例,该实例可向 Google 服务器发送路线查询。
route
route(request[, callback])
参数: 
返回值:  Promise<DirectionsResult>
发出路线搜索请求。

DirectionsRequest 接口

google.maps.DirectionsRequest 接口

要发送到 DirectionsService 的路线查询。

destination
类型:  string|LatLng|Place|LatLngLiteral
目标位置。此参数可以指定为要进行地理编码的字符串、LatLngPlace。必填。
origin
类型:  string|LatLng|Place|LatLngLiteral
原点的位置。此参数可以指定为要进行地理编码的字符串、LatLngPlace。必填。
travelMode
类型:  TravelMode
请求的路线类型。必填。
avoidFerries optional
类型:  boolean optional
如果值为 true,则指示路线服务尽可能避开轮渡。可选。
avoidHighways optional
类型:  boolean optional
如果值为 true,则指示路线服务尽可能避开公路。可选。
avoidTolls optional
类型:  boolean optional
如果值为 true,则指示 Directions 服务尽可能避开收费路段。可选。
drivingOptions optional
类型:  DrivingOptions optional
仅适用于 travelModeDRIVING 的请求的设置。此对象对其他出行方式没有影响。
language optional
类型:  string optional
一种语言标识符,用于指定应尽可能以哪种语言返回结果。请参阅支持的语言列表
optimizeWaypoints optional
类型:  boolean optional
如果设置为 trueDirectionsService 将尝试重新排序提供的中间途经点,以最大限度地降低路线的总费用。如果航点经过优化,请检查响应中的 DirectionsRoute.waypoint_order 以确定新的顺序。
provideRouteAlternatives optional
类型:  boolean optional
是否应提供备选路线。可选。
region optional
类型:  string optional
用作地址解析请求偏向的区域代码。地区代码接受 ccTLD(“顶级域名”)双字符值。多数 ccTLD 代码都与 ISO 3166-1 代码相同,但也有一些需要注意的例外情况。例如,英国的 ccTLD 为“uk”(.co.uk),而其 ISO 3166-1 代码为“gb”(从技术上讲,是指“大不列颠及北爱尔兰联合王国”这一实体)。
transitOptions optional
类型:  TransitOptions optional
仅适用于 travelMode 为 TRANSIT 的请求的设置。此对象对其他出行方式没有影响。
unitSystem optional
类型:  UnitSystem optional
默认值:出发地所在国家/地区的单位制。
显示距离时要使用的首选单位制。
waypoints optional
类型:  Array<DirectionsWaypoint> optional
中间路标的数组。系统会计算从出发地到目的地(途经此数组中的每个途径点)的路线。如需了解允许的航点数量上限,请参阅 开发者指南。公交路线不支持途经点。可选。

DirectionsStatus 常量

google.maps.DirectionsStatus 常量

在完成对 route() 的调用后,DirectionsService 返回的状态。您可以通过值或使用常量的名称来指定这些参数。例如 'OK'google.maps.DirectionsStatus.OK

通过调用 const {DirectionsStatus} = await google.maps.importLibrary("routes") 进行访问。
请参阅 Maps JavaScript API 中的库

INVALID_REQUEST 提供的 DirectionsRequest 无效。
MAX_WAYPOINTS_EXCEEDED DirectionsRequest 中提供的 DirectionsWaypoint 过多。如需了解允许的航点数量上限,请参阅 开发者指南
NOT_FOUND 至少无法对原点、目标或路标之一进行地址解析。
OK 响应包含有效的 DirectionsResult
OVER_QUERY_LIMIT 网页发出请求的频率过高,超过了最短时间限制。
REQUEST_DENIED 不允许网页使用路线服务。
UNKNOWN_ERROR 由于服务器错误而无法处理路线请求。如果您再试一次,该请求可能会成功。
ZERO_RESULTS 在起点和终点之间找不到任何路线。

DirectionsResult 接口

google.maps.DirectionsResult 接口

从路线服务器检索获得的路线响应。您可以使用 DirectionsRenderer 呈现这些对象,也可以自行解析并呈现此对象。您必须按照 Google Maps Platform 服务条款中的规定显示警告和版权声明。请注意,虽然此结果类似于 JSON,但它并非严格意义上的 JSON,因为它间接包含 LatLng 对象。

request
类型:  DirectionsRequest
生成相应结果的 DirectionsRequest。
routes
类型:  Array<DirectionsRoute>
一个 DirectionsRoute 数组,其中每个元素都包含有关相应路段及其所包含的步骤的信息。除非 DirectionsRequest 是在 provideRouteAlternatives 设置为 true 的情况下创建的,否则只会有一条路线。
available_travel_modes optional
类型:  Array<TravelMode> optional
包含可用出行方式的数组。当请求指定出行方式但未获得任何结果时,系统会返回此字段。该数组包含给定航点组中相应国家/地区提供的出行方式。如果一个或多个途经点是“途经点”,则不会返回此字段。
geocoded_waypoints optional
类型:  Array<DirectionsGeocodedWaypoint> optional
一个 DirectionsGeocodedWaypoint 数组,其中每个元素都包含有关出发地、目的地和航点的地理编码的信息。

DirectionsRenderer

google.maps.DirectionsRenderer

呈现从 DirectionsService 获取的路线。

此类扩展了 MVCObject

通过调用 const {DirectionsRenderer} = await google.maps.importLibrary("routes") 进行访问。
请参阅 Maps JavaScript API 中的库

DirectionsRenderer
DirectionsRenderer([opts])
参数: 
使用指定选项创建渲染程序。路线可在地图上呈现(以视觉叠加层的形式),也可在 <div> 面板上呈现(以文字说明的形式)。
getDirections
getDirections()
参数:无
返回值:  DirectionsResult
传回渲染程序的当前路线集。
getMap
getMap()
参数:无
返回值:  Map
返回渲染 DirectionsResult 的地图。
getPanel
getPanel()
参数:无
返回值:  HTMLElement|null
返回渲染 DirectionsResult 的面板 <div>
getRouteIndex
getRouteIndex()
参数:无
返回值:  number
返回此 DirectionsRenderer 对象当前使用的(从零开始的)路线索引。
setDirections
setDirections(directions)
参数: 
返回值:无
将渲染器设置为使用 DirectionsService 的结果。以这种方式设置一组有效的路线将在渲染程序的指定地图和面板上显示这些路线。
setMap
setMap(map)
参数: 
返回值:无
此方法指定将在其上渲染路线的地图。传递 null 以从地图中移除路线。
setOptions
setOptions(options)
参数: 
返回值:无
在初始化后更改此 DirectionsRenderer 的选项设置。
setPanel
setPanel(panel)
参数: 
返回值:无
此方法会在 <div> 中呈现路线。传递 null 以从面板中移除内容。
setRouteIndex
setRouteIndex(routeIndex)
参数: 
  • routeIndexnumber
返回值:无
设置 DirectionsResult 对象中要渲染的路线的索引(从零开始)。默认情况下,将渲染数组中的第一条路线。
继承自addListenerbindTogetnotifysetsetValuesunbindunbindAll
directions_changed
function()
参数:None
当渲染的路线发生变化时(无论是设置新的 DirectionsResult 还是用户完成拖动操作以更改路线),系统都会触发此事件。

DirectionsRendererOptions 接口

google.maps.DirectionsRendererOptions 接口

此对象定义了可针对 DirectionsRenderer 对象设置的属性。

directions optional
类型:  DirectionsResult optional
要在地图上和/或 <div> 面板中显示的路线,以 DirectionsResult 对象的形式从 DirectionsService 中检索。
draggable optional
类型:  boolean optional
如果值为 true,则允许用户拖动和修改此 DirectionsRenderer 渲染的路线的路径。