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 目标位置。此参数可以指定为要进行地理编码的字符串、 LatLng 或 Place 。必填。 |
origin |
类型:
string|LatLng|Place|LatLngLiteral 原点的位置。此参数可以指定为要进行地理编码的字符串、 LatLng 或 Place 。必填。 |
travelMode |
类型:
TravelMode 请求的路线类型。必填。 |
avoidFerries optional |
类型:
boolean optional 如果值为 true ,则指示路线服务尽可能避开轮渡。可选。 |
avoidHighways optional |
类型:
boolean optional 如果值为 true ,则指示路线服务尽可能避开公路。可选。 |
avoidTolls optional |
类型:
boolean optional 如果值为 true ,则指示 Directions 服务尽可能避开收费路段。可选。 |
drivingOptions optional |
类型:
DrivingOptions optional 仅适用于 travelMode 为 DRIVING 的请求的设置。此对象对其他出行方式没有影响。 |
language optional |
类型:
string optional 一种语言标识符,用于指定应尽可能以哪种语言返回结果。请参阅支持的语言列表。 |
optimizeWaypoints optional |
类型:
boolean optional 如果设置为 true ,DirectionsService 将尝试重新排序提供的中间途经点,以最大限度地降低路线的总费用。如果航点经过优化,请检查响应中的 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。 |
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) 参数:
返回值:无
设置 DirectionsResult 对象中要渲染的路线的索引(从零开始)。默认情况下,将渲染数组中的第一条路线。 |
继承自:
addListener 、bindTo 、get 、notify 、set 、setValues 、unbind 、unbindAll
|
事件 | |
---|---|
directions_changed |
function() 参数:None
当渲染的路线发生变化时(无论是设置新的 DirectionsResult 还是用户完成拖动操作以更改路线),系统都会触发此事件。 |
DirectionsRendererOptions 接口
google.maps.DirectionsRendererOptions
接口
此对象定义了可针对 DirectionsRenderer
对象设置的属性。
属性 | |
---|---|
directions optional |
类型:
DirectionsResult optional 要在地图上和/或 <div> 面板中显示的路线,以 DirectionsResult 对象的形式从 DirectionsService 中检索。 |
draggable optional |
类型:
boolean optional 如果值为 true ,则允许用户拖动和修改此 DirectionsRenderer 渲染的路线的路径。 |
|