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 渲染的路线的路径。
hideRouteList optional
类型:  boolean optional
默认值false
此属性用于指示渲染器是否应在“路线”面板中提供可供用户选择的路线列表。
infoWindow optional
类型:  InfoWindow optional
点击标记时用于呈现文本信息的 InfoWindow。现有的信息窗口内容将会被覆盖,其位置也会移动。如果未指定信息窗口,DirectionsRenderer 将创建并使用自己的信息窗口。如果 suppressInfoWindows 设置为 true,系统将忽略此属性。
map optional
类型:  Map optional
要在其上显示路线的地图。
markerOptions optional
类型:  MarkerOptions optional
标记的选项。DirectionsRenderer 渲染的所有标记都将使用这些选项。
panel optional
类型:  HTMLElement optional
用于显示路线步骤的 <div>
polylineOptions optional
类型:  PolylineOptions optional
折线的选项。由 DirectionsRenderer 渲染的所有折线都将使用这些选项。
preserveViewport optional
类型:  boolean optional
默认值false
如果此选项设置为 true 或从未设置过地图的中心和缩放级别,则输入地图会居中并缩放至这组路线的边界框。
routeIndex optional
类型:  number optional
DirectionsResult 对象中路线的索引。默认值为 0。
suppressBicyclingLayer optional
类型:  boolean optional
在请求骑车路线时,禁止渲染 BicyclingLayer
suppressInfoWindows optional
类型:  boolean optional
取消信息窗口的渲染。
suppressMarkers optional
类型:  boolean optional
取消标记的渲染。
suppressPolylines optional
类型:  boolean optional
取消折线的渲染。

DirectionsWaypoint 接口

google.maps.DirectionsWaypoint 接口

DirectionsWaypoint 表示出发地和目的地之间应规划行程的某个位置。

location optional
类型:  string|LatLng|LatLngLiteral|Place optional
路标位置。可以是地址字符串、LatLngPlace。可选。
stopover optional
类型:  boolean optional
默认值true
如果值为 true,则表示此航点是出发地和目的地之间的经停点。这会将路线拆分为两段。如果值为 false,则表示路线应偏向于经过此途经点,但不会拆分为两段。如果您想在用户拖动地图上的途经点时创建路线,此方法非常有用。

DirectionsGeocodedWaypoint 接口

google.maps.DirectionsGeocodedWaypoint 接口

单个经过地理编码的航点。

partial_match optional
类型:  boolean optional
地理编码器是否无法返回与原始途径点完全匹配的结果,尽管它能够匹配所请求地址的一部分内容。
place_id optional
类型:  string optional
与途经点关联的地点 ID。地点 ID 可唯一标识 Google Places 数据库中和 Google 地图上的地点。如需详细了解地点 ID,请参阅 Places API 开发者指南。
types optional
类型:  Array<string> optional
一个字符串数组,这些字符串表示传回的地址解析元素的类型。如需查看可能的字符串列表,请参阅《开发者指南》的 地址组成部分类型部分。

DirectionsRoute 接口

google.maps.DirectionsRoute 接口

包含 DirectionsResult 中一组路段的单个路线。请注意,虽然此对象类似于 JSON,但它并不完全是 JSON,因为它直接和间接包含 LatLng 对象。

bounds
类型:  LatLngBounds
此路线的范围。
copyrights
类型:  string
要针对此路线显示的版权文本。
legs
类型: