Route (beta)

Route

google.maps.routes.Route

包含路线,该路线由一系列相连的路段组成,这些路段连接起点、终点和中间航点。

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

computeRoutes
computeRoutes(request)
参数: 
返回值:  Promise<{
  routes:Array<Route> optional,
  fallbackInfo:FallbackInfo optional,
  geocodingResults:GeocodingResults optional
}>
根据一组终点和中间航点返回主要路线以及可选的备选路线。

注意:此方法要求您通过设置 ComputeRoutesRequest.fields 属性在请求中指定响应字段掩码。该值是字段路径的列表。

例如:
  • 所有可用字段的字段掩码:fields: ['*']
  • 路线级时长、距离和路径的字段掩码:fields: ['durationMillis', 'distanceMeters', 'path']

不建议使用通配符响应字段掩码 fields: ['*'],因为:
  • 仅选择您需要的字段有助于我们的服务器节省计算周期,从而使我们能够以更低的延迟时间向您返回结果。
  • 仅选择生产作业中需要的字段可确保稳定的延迟时间性能。我们未来可能会添加更多响应字段,而这些新字段可能需要额外的计算时间。如果您选择所有字段,或者选择顶级的所有字段,则可能会遇到性能下降的问题,因为我们添加的任何新字段都会自动包含在响应中。
  • 仅选择所需的字段可减小响应大小,从而加快网络加载速度。
description
类型:  string optional
路线的说明。
distanceMeters
类型:  number optional
相应路线的行驶距离(以米为单位)。
durationMillis
类型:  number optional
导航路线所需的时间(以毫秒为单位)。如果您将 ComputeRoutesRequest.routingPreference 设置为 TRAFFIC_UNAWARE,则此值与 Route.staticDurationMillis 相同。如果您将 ComputeRoutesRequest.routingPreference 设置为 TRAFFIC_AWARETRAFFIC_AWARE_OPTIMAL,则系统会根据路况计算此值。

注意:如果时长超过 2^53 毫秒,则此值为 Number.POSITIVE_INFINITY
legs
类型:  Array<RouteLeg> optional
构成路线的若干路段(航点之间的路径段)。每段行程都对应于两个非 via 航点之间的旅程。

例如:
  • 没有中间航点的路线只有一段路程。
  • 包含一个非 via 中间航点的路线有两段路程。
  • 包含一个 via 中间航点的路线有一段路程。
路段的顺序与途经点的顺序一致,即从 originintermediates 再到 destination
localizedValues
类型:  RouteLocalizedValues optional
Route 的属性的文本表示形式。
optimizedIntermediateWaypointIndices
类型:  Array<number> optional
如果您将 ComputeRoutesRequest.optimizeWaypointOrder 设置为 true,此字段将包含优化后的中途经停点顺序。否则,此字段为空。索引从 0 开始,表示输入中提供的第一个中间途经点。

例如,如果您输入:
  • 来源:LA
  • 中间航点:达拉斯、班戈、凤凰城
  • 目的地:纽约
,而优化后的中间航点顺序为 Phoenix、Dallas、Bangor,则此字段将为 [2, 0, 1]
path
类型:  Array<LatLngAltitude> optional
路线的 LatLngAltitude 列表,可用于绘制路线多段线。可以通过设置 ComputeRoutesRequest.polylineQuality 来控制路径的粒度。
polylineDetails
类型:  PolylineDetails optional
包含有关路径沿途的详细信息。
routeLabels
类型:  Array<RouteLabel> optional
有助于识别路线特定属性或与其他路线进行比较的标签。
routeToken
类型:  string optional
一个不透明的令牌,可传递给 Navigation SDK 以在导航期间重建路线,并在重新规划路线时遵循创建路线时的原始意图。将此令牌视为不透明 blob。请勿跨请求比较其值,因为即使服务返回完全相同的路线,其值也可能会发生变化。

注意:routeToken 仅适用于将 ComputeRoutesRequest.routingPreference 设置为 TRAFFIC_AWARETRAFFIC_AWARE_OPTIMAL 的请求。不支持包含 via 航点的请求。
speedPaths
类型:  Array<SpeedPath> optional
路线路径的各个部分及其对应的速度读数。若要填充此字段,必须将 ComputeRoutesRequest.routingPreference 设置为 TRAFFIC_AWARETRAFFIC_AWARE_OPTIMAL,并且 ComputeRoutesRequest.extraComputations 必须包含 TRAFFIC_ON_POLYLINE
staticDurationMillis
类型:  number optional
在不考虑路况的情况下,沿路线行驶所需的时间。

注意:如果时长超过 2^53 毫秒,则此值为 Number.POSITIVE_INFINITY
travelAdvisory
类型:  RouteTravelAdvisory optional
有关路线的其他信息。
viewport
类型:  LatLngBounds optional
路线的视口边界框。
warnings
类型:  Array<string> optional
在显示路线时要显示的一系列警告。
createPolylines
createPolylines([options])
参数: 
返回值:  Array<Polyline>
根据可用数据为路线创建折线。

多模态多段线:
  • 要求:
  • 为每个多模式路线段创建一条多段线。折线会根据路段出行方式和公交线路数据(如有)设置样式。您可以传入选项,以根据出行方式和公交线路更改折线样式。

流量多段线:
总体折线:
  • 要求:
  • 为整个路线创建一条应用了默认样式的多段线。可以传入选项,以根据路线出行方式更改多段线样式。如需进一步自定义,请使用 Route.pathRouteLeg.path 直接创建多段线。
createWaypointAdvancedMarkers
createWaypointAdvancedMarkers([options])
为每个途经点创建标记,并为路线添加“A”“B”“C”等标签。标记已应用默认样式。您可以传入选项,以根据标记指数或相应 RouteLeg 的属性来更改标记样式。如果路线没有路段,则 WaypointMarkerDetails.leg 参数将为未定义。

必须在 ComputeRoutesRequest.fields 中请求 "legs" 字段,才能包含中间途经点。
toJSON
toJSON()
参数:无
返回值:  Object
转换为对象。

ComputeRoutesRequest 接口

google.maps.routes.ComputeRoutesRequest 接口

路线请求。

destination
相应路线的目的地。以字符串形式传递的值可以是地址、plus code 或 Place 资源名称。计算路线时不会考虑海拔高度值。
fields
类型:  Iterable<string>
要提取的字段的集合。为所有字段指定 ["*"]
origin
路线的起点。以字符串形式传递的值可以是地址、plus code 或 Place 资源名称。计算路线时不会考虑海拔高度值。
arrivalTime optional
类型:  Date optional
到达时间。

注意:只有当 ComputeRoutesRequest.travelMode 设置为 TRANSIT 时才能设置此项。您可以指定 ComputeRoutesRequest.departureTimeComputeRoutesRequest.arrivalTime,但不能同时指定这两者。公交行程最多可查询过去 7 天或未来 100 天的行程。
computeAlternativeRoutes optional
类型:  boolean optional
指定是否在计算路线的同时计算备选路线。对于包含中间途经点的请求,系统不会返回替代路线。
departureTime optional
类型:  Date optional
出发时间。如果您未设置此值,则此值默认为您发出请求的时间。

注意:只有当 ComputeRoutesRequest.travelMode 设置为 TRANSIT 时,您才能指定过去的时间。公交行程最多可查询过去 7 天或未来 100 天的行程。
extraComputations optional
可用于完成请求的额外计算的列表。

注意:这些额外的计算可能会在响应中返回额外的字段。这些额外的字段也必须在 ComputeRoutesRequest.fields 中指定,才能在响应中返回。
intermediates optional
类型:  Iterable<Waypoint> optional
路线中的一组途经点(不包括终点),用于停靠或途经。最多支持 25 个中间航点。
language optional
类型:  string optional
BCP-47 语言代码,例如“en-US”或“sr-Latn”。如需了解详情,请参阅 Unicode 语言区域标识符。如需查看支持的语言列表,请参阅语言支持。如果您未提供此值,系统会根据您的 Google Maps JavaScript API 本地化设置推断语言。否则,系统会根据来源的位置推断语言。
optimizeWaypointOrder optional
类型:  boolean optional
如果设置为 true,服务会尝试通过重新排序指定的中途经停点来最大限度地降低路线的总费用。如果任何中间航点是途经航点,请求都会失败。使用响应中的 Route.optimizedIntermediateWaypointIndices 查找新的排序。如果未在 ComputeRoutesRequest.fields 中请求 "optimizedIntermediateWaypointIndices",则请求失败。如果设置为 false,则响应中的 Route.optimizedIntermediateWaypointIndices 将为空。
polylineQuality optional
类型:  PolylineQuality optional
指定对折线质量的偏好设置。
region optional
类型:  string optional
地区代码,以 ccTLD(“顶级域名”)双字符值的形式指定。如需了解详情,请参阅国家/地区代码顶级网域。如果您未提供此值,系统会根据您的 Google Maps JavaScript API 本地化设置推断区域。否则,系统会根据来源的位置推断区域。
requestedReferenceRoutes optional
类型:  Iterable<ReferenceRoute> optional
指定除了默认路线之外,还要计算哪些参考路线作为请求的一部分。参考路线是指路线计算目标与默认路线不同的路线。例如,FUEL_EFFICIENT参考路线计算会考虑各种参数,以生成最佳的省油路线。使用此功能时,请在生成的路线中查找 Route.routeLabels
routeModifiers optional
类型:  RouteModifiers optional
一组需要满足的条件,这些条件会影响路线的计算方式。例如,您可以指定要避开的道路,如收费公路或高速公路。
routingPreference optional
类型:  RoutingPreference optional
指定如何计算路线。服务器会尝试使用所选的路由偏好设置来计算路由。如果路由偏好设置导致错误或延迟时间过长,则返回错误。只有当 ComputeRoutesRequest.travelModeDRIVINGTWO_WHEELER 时,您才能指定此选项,否则请求会失败。
trafficModel optional
类型:  TrafficModel optional
指定计算交通中的时间时要使用的假设。此设置会影响 Route.durationMillisRouteLeg.durationMillis 的值,这两个值包含根据历史平均数据预测的交通时间。ComputeRoutesRequest.trafficModel 仅适用于将 ComputeRoutesRequest.routingPreference 设置为 TRAFFIC_AWARE_OPTIMAL 且将 ComputeRoutesRequest.travelMode 设置为 DRIVING 的请求。默认值为 BEST_GUESS
transitPreference optional
类型:  TransitPreference optional
指定影响为 TRANSIT 路线返回的路线的偏好设置。

注意:只有当 ComputeRoutesRequest.travelMode 设置为 TRANSIT 时才能指定此参数。
travelMode optional
类型:  TravelMode optional
指定交通方式。
units optional
类型:  UnitSystem optional
指定显示字段(例如导航说明)的度量单位。此值不会影响用于路线、路段、步数距离和时长的计量单位。如果您未提供此值,则系统会根据原点的位置推断显示单位。

ComputeRoutesExtraComputation 常量

google.maps.routes.ComputeRoutesExtraComputation 常量

要针对 Route.computeRoutes 请求执行的额外计算。

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

FLYOVER_INFO_ON_POLYLINE 相应路线的 Flyover 信息。必须在 ComputeRoutesRequest.fields 中指定 "polylineDetails" 字段才能返回此信息。目前,此数据仅会针对印度境内的某些大都市区进行填充。此功能目前处于实验阶段,SKU/费用可能会发生变化。
FUEL_CONSUMPTION 相应路线的估计燃料消耗量。
HTML_FORMATTED_NAVIGATION_INSTRUCTIONS 以格式化 HTML 文本字符串形式呈现的导航说明。此内容应按原样读取,仅用于显示。请勿以程序化方式解析此内容。
NARROW_ROAD_INFO_ON_POLYLINE 相应路线的狭窄道路信息。必须在 ComputeRoutesRequest.fields 中指定 "polylineDetails" 字段才能返回此信息。目前,此数据仅会针对印度境内的某些大都市区进行填充。此功能目前处于实验阶段,SKU/费用可能会发生变化。
TOLLS 相应路线的过路费信息。
TRAFFIC_ON_POLYLINE 路线的可感知路况的多段线。

DirectionalLocationLiteral 接口

google.maps.routes.DirectionalLocationLiteral 接口

为了方便起见,系统接受对象字面量来代替 DirectionalLocation 实例。当 Maps JS API 遇到这些值时,会将它们转换为 DirectionalLocation

此接口扩展了 LatLngAltitudeLiteral

heading optional
类型:  number optional
与交通流量方向相关的罗盘方向。航向值可以是 0 到 360 之间的数字,其中 0 表示正北方向,90 表示正东方向,依此类推。您只能将此字段用于 DRIVINGTWO_WHEELER ComputeRoutesRequest.travelMode
继承altitudelatlng

DirectionalLocation

google.maps.routes.DirectionalLocation

封装地理点和可选的航向。

此类扩展了 LatLngAltitude

此类实现了 DirectionalLocationLiteral

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

继承自LatLngAltitude
heading
类型:  number optional
与交通流量方向相关的罗盘方向。航向值可以是 0 到 360 之间的数字,其中 0 表示正北方向,90 表示正东方向,依此类推。您只能将此字段用于 DRIVINGTWO_WHEELER ComputeRoutesRequest.travelMode
继承altitudelatlng
toJSON
toJSON()
参数:无
转换为对象。
继承自equals

FallbackInfo

google.maps.routes.FallbackInfo

Route.computeRoutes 响应中使用回退结果的方式和原因相关的信息。如果设置了此字段,则表示服务器使用了与您的首选模式不同的路由模式作为回退。

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

reason
类型:  FallbackReason optional
之所以使用回退响应而非原始响应的原因。仅当触发回退模式并返回回退响应时,才会填充此字段。
routingMode
类型:  FallbackRoutingMode optional
用于响应的路由模式。如果触发了回退,则模式可能与原始客户端请求中设置的路由偏好不同。

FallbackReason 常量

google.maps.routes.FallbackReason 常量

Route.computeRoutes 响应中返回回退响应的原因。

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

LATENCY_EXCEEDED 我们无法及时完成使用首选路线模式进行的计算,但能够返回使用替代模式计算出的结果。
SERVER_ERROR 在以首选路线模式计算路线时,系统发生了服务器错误,但我们能够返回以替代模式计算的结果。

FallbackRoutingMode 常量

google.maps.routes.FallbackRoutingMode 常量

Route.computeRoutes 响应中返回后备响应时使用的实际路由模式。

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

TRAFFIC_AWARE 表示已使用 TRAFFIC_AWARE RoutingPreference 计算响应。
TRAFFIC_UNAWARE 表示已使用 TRAFFIC_UNAWARE RoutingPreference 计算响应。

GeocodedWaypoint

google.maps.routes.GeocodedWaypoint

有关用作途经点的地点的地理编码。仅针对地址途经点填充。包含地理编码结果的详细信息,用于确定地址的地理编码结果。

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

geocoderStatus
类型:  RPCStatus optional
表示地理编码操作生成的状态代码。
intermediateWaypointRequestIndex
类型:  number optional
相应中间途经点在请求中的索引。仅当相应途经点为中间途经点时填充。
partialMatch
类型:  boolean
表示地理编码器无法返回与原始请求完全匹配的结果,尽管它能够匹配所请求地址的一部分内容。您不妨检查一下原始请求中是否有拼写错误和/或地址不完整的情况。
placeId
类型:  string
相应结果的地点 ID。
types
类型:  Array<string>
结果的类型,以零个或多个类型标记的形式表示。如需查看支持的类型,请参阅 https://developers.google.com/maps/documentation/geocoding/requests-geocoding#Types
toJSON
toJSON()
参数:无
返回值:  Object
转换为对象。

GeocodingResults

google.maps.routes.GeocodingResults

包含出发地、目的地和中间途经点的 GeocodedWaypoint。仅针对地址途经点填充。

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

destination
类型:  GeocodedWaypoint optional
目的地的地理编码航点。
intermediates
类型:  Array<GeocodedWaypoint> optional
中间地理编码航点的列表,每个航点都包含一个索引字段,该字段对应于航点在请求中指定的顺序中的从零开始的位置。
origin
类型:  GeocodedWaypoint optional
出发地的地理编码航点。
toJSON
toJSON()
参数:无
返回值:  Object
转换为对象。

MultiModalSegment

google.maps.routes.MultiModalSegment

提供路线的 RouteLeg.steps 多种模式路段的摘要信息。多模态片段是指具有相同 TravelMode 的一个或多个连续 RouteLegStep

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

instructions
类型:  string optional
有关如何浏览此多模态片段的说明。
maneuver
类型:  string optional
在此步骤中要执行的导航操作。如需查看可能值的列表,请参阅机动
stepEndIndex
类型:  number
多模态片段末尾对应的 RouteLegStep 索引。
stepStartIndex
类型:  number
多模态片段的起始位置对应的 RouteLegStep 索引。
travelMode
类型:  TravelMode optional
相应多模态路段所用的出行方式。
toJSON
toJSON()
参数:无
返回值:  Object
转换为对象。

PolylineDetailInfo

google.maps.routes.PolylineDetailInfo

封装了多段线一段路线上道路要素的相关信息。

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

endIndex
类型:  number optional
相应道路要素在多段线中的结束索引。
presence
类型:  RoadFeatureState optional
表示多段线上是否存在道路要素。
startIndex
类型:  number optional
相应道路要素在多段线中的起始索引。
toJSON
toJSON()
参数:无
返回值:  Object
转换为对象。

PolylineDetails

google.maps.routes.PolylineDetails

与多段线的指定索引或连续段对应的详细信息。对于具有点 P_0、P_1、...、P_N(从零开始的索引)的多段线,PolylineDetails 描述了给定区间内的道路特征。

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

flyoverInfo
沿多段线的飞掠详情。
narrowRoadInfo
多段线沿途的狭窄道路详细信息。
toJSON
toJSON()
参数:无
返回值:  Object
转换为对象。

PolylineQuality 常量

google.maps.routes.PolylineQuality 常量

指定折线的质量。

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

HIGH_QUALITY 指定使用比 OVERVIEW 更多的点组成的高质量折线,但会增加响应大小。如果需要更高的精度,请使用此值。
OVERVIEW 指定使用少量点组成的概览折线。与 HIGH_QUALITY 相比,使用此选项的请求延迟时间更短。在显示路线概览时使用此值。

ReferenceRoute 常量

google.maps.routes.ReferenceRoute 常量

ComputeRoutesRequest 上支持的参考路线。

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

FUEL_EFFICIENT 省油路线。
SHORTER_DISTANCE 行程距离较短的路线。

RoadFeatureState 常量

google.maps.routes.RoadFeatureState 常量

封装多段线一段上的道路功能状态。

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

DOES_NOT_EXIST 道路要素不存在。
EXISTS 道路要素存在。

RouteLabel 常量

google.maps.routes.RouteLabel 常量

有助于识别要与其他房源进行比较的特定房源的路线标签。

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

DEFAULT_ROUTE 为路线计算返回的默认“最佳”路线。
DEFAULT_ROUTE_ALTERNATE 默认“最佳”路线的替代方案。指定 ComputeRoutesRequest.computeAlternativeRoutes 时,系统将返回此类路线。
FUEL_EFFICIENT 省油路线。标记有此值的路线被确定为针对燃油消耗等环保参数进行了优化。
SHORTER_DISTANCE 行驶距离较短的路线。这是一项实验性功能。

RouteLeg

google.maps.routes.RouteLeg

包含非 via 航点之间的路段。

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

distanceMeters
类型:  number
相应路线段的行驶距离(以米为单位)。
durationMillis
类型:  number optional
导航路线段所需的时间(以毫秒为单位)。如果您将 ComputeRoutesRequest.routingPreference 设置为 TRAFFIC_UNAWARE,则此值与 staticDurationMillis 相同。如果您将 ComputeRoutesRequest.routingPreference 设置为 TRAFFIC_AWARETRAFFIC_AWARE_OPTIMAL,则系统会根据路况计算此值。

注意:如果时长超过 2^53 毫秒,则此值为 Number.POSITIVE_INFINITY
endLocation
类型:  DirectionalLocation optional
相应路段的终点位置。此位置可能与 ComputeRoutesRequest.destination 不同。例如,当 ComputeRoutesRequest.destination 不在道路附近时,这是道路上的一个点。
localizedValues
类型:  RouteLegLocalizedValues optional
RouteLeg 的属性的文本表示形式。
path
类型:  Array<LatLngAltitude>
路线段的 LatLngAltitude 列表,可用于绘制路线段多段线。可以通过设置 ComputeRoutesRequest.polylineQuality 来控制路径的粒度。
speedPaths
类型:  Array<SpeedPath>
路段路径的各个部分及其对应的速度读数的分组。若要填充此字段,必须将 ComputeRoutesRequest.routingPreference 设置为 TRAFFIC_AWARETRAFFIC_AWARE_OPTIMAL,并且 ComputeRoutesRequest.extraComputations 必须包含 TRAFFIC_ON_POLYLINE
startLocation
类型:  DirectionalLocation optional
相应路段的起点。此位置可能与 ComputeRoutesRequest.origin 不同。例如,当 ComputeRoutesRequest.origin 不在道路附近时,这是道路上的一个点。
staticDurationMillis
类型:  number optional
在不考虑路况信息的情况下,通过相应路段所需的时长。

注意:如果时长超过 2^53 毫秒,则此值为 Number.POSITIVE_INFINITY
steps
类型:  Array<RouteLegStep>
一个数组,包含表示相应航段内各个路段的步骤。每个步骤代表一条导航指令。
stepsOverview
类型:  StepsOverview optional
有关此 RouteLeg 中步骤的概览信息。此字段仅针对 TRANSIT 路线进行填充。
travelAdvisory
类型:  RouteLegTravelAdvisory optional
包含用户应了解的其他信息,例如路线段上可能存在的交通区域限制。
toJSON
toJSON()
参数:无
返回值:  Object
转换为对象。

RouteLegLocalizedValues

google.maps.routes.RouteLegLocalizedValues

RouteLeg 的文本表示形式。

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

distance
类型:  string optional
路线段的行程距离(以文本形式表示)。
distanceLanguage
类型:  string optional
距离文本的 BCP-47 语言代码,例如“en-US”或“sr-Latn”。

如需了解详情,请参阅 http://www.unicode.org/reports/tr35/#Unicode_locale_identifier
duration
类型:  string optional
以文本形式表示的时长,并已本地化为查询区域。考虑路况信息。
durationLanguage
类型:  string optional
时长文本的 BCP-47 语言代码,例如“en-US”或“sr-Latn”。

如需了解详情,请参阅 http://www.unicode.org/reports/tr35/#Unicode_locale_identifier
staticDuration
类型:  string optional
未考虑路况的行程时长,以文本形式表示。
staticDurationLanguage
类型:  string optional
静态时长文本的 BCP-47 语言代码,例如“en-US”或“sr-Latn”。
toJSON
toJSON()
参数:无
返回值:  Object
转换为对象。

RouteLegStep

google.maps.routes.RouteLegStep

包含 RouteLeg 的一部分。一个步骤对应于一条导航指令。路线段由多个步骤组成。

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

distanceMeters
类型:  number
相应步的行驶距离(以米为单位)。
endLocation
类型:  DirectionalLocation optional
相应路段的终点位置。
instructions
类型:  string optional
有关如何完成此步骤的说明。
localizedValues
类型:  RouteLegStepLocalizedValues optional
RouteLegStep 的属性的文本表示形式。
maneuver
类型:  string optional
在此步骤中要执行的导航操作。如需查看可能值的列表,请参阅机动
path
类型:  Array<LatLngAltitude>
路线段步骤的 LatLngAltitude 列表,可用于绘制路线段步骤多段线。可以通过设置 ComputeRoutesRequest.polylineQuality 来控制路径的粒度。必须在 ComputeRoutesRequest.fields 中请求 "path" 字段,才能填充此字段。
startLocation
类型:  DirectionalLocation optional
相应路段的起点。
staticDurationMillis
类型:  number optional
在不考虑路况信息的情况下,完成此步骤所需的时长。

注意:如果时长超过 2^53 毫秒,则此值为 Number.POSITIVE_INFINITY
transitDetails
类型:  TransitDetails optional
如果出行方式为 TRANSIT,则此步骤的相关详细信息。
travelMode
类型:  TravelMode optional
相应步骤所用的出行方式。
toJSON
toJSON()
参数:无
返回值:  Object
转换为对象。

RouteLegStepLocalizedValues

google.maps.routes.RouteLegStepLocalizedValues

RouteLegStep 的属性的文本表示形式。

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

distance
类型:  string optional
路线段步骤的出行距离(以文本形式表示)。
distanceLanguage
类型:  string optional
距离文本的 BCP-47 语言代码,例如“en-US”或“sr-Latn”。

如需了解详情,请参阅 http://www.unicode.org/reports/tr35/#Unicode_locale_identifier
staticDuration
类型:  string optional
未考虑路况的行程时长,以文本形式表示。
staticDurationLanguage
类型:  string optional
静态时长文本的 BCP-47 语言代码,例如“en-US”或“sr-Latn”。

如需了解详情,请参阅 http://www.unicode.org/reports/tr35/#Unicode_locale_identifier
toJSON
toJSON()
参数:无
返回值:  Object
转换为对象。

RouteLegTravelAdvisory

google.maps.routes.RouteLegTravelAdvisory

包含用户应在 RouteLeg 上了解的其他信息。

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

speedReadingIntervals
类型:  Array<SpeedReadingInterval> optional
详细说明流量密度的快速阅读间隔。适用于 TRAFFIC_AWARETRAFFIC_AWARE_OPTIMAL ComputeRoutesRequest.routingPreference。这些区间涵盖了 RouteLeg 的整个折线,且不重叠。指定区间的起点与前一个区间的终点相同。

示例:
  polyline: A ---- B ---- C ---- D ---- E ---- F ---- G 
speedReadingIntervals: [A,C), [C,D), [D,G)
tollInfo
类型:  TollInfo optional
包含有关特定 RouteLeg 的通行费信息。仅当 RouteLeg 上预计会产生通行费时,系统才会填充此字段。如果设置了此字段,但未填充 TollInfo.estimatedPrices,则表示相应路线段包含收费路段,但估计价格未知。如果此字段为空,则表示 RouteLeg 上没有收费站。
toJSON
toJSON()
参数:无
返回值:  Object
转换为对象。

RouteLocalizedValues

google.maps.routes.RouteLocalizedValues

Route 的属性的文本表示形式。

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

distance
类型:  string optional
以文本形式表示的路线的行驶距离。
distanceLanguage
类型:  string optional
距离文本的 BCP-47 语言代码,例如“en-US”或“sr-Latn”。

如需了解详情,请参阅 http://www.unicode.org/reports/tr35/#Unicode_locale_identifier
duration
类型:  string optional
以文本形式表示的时长,并已本地化为查询区域。考虑路况信息。注意:如果您未请求路况信息,则此值与 staticDuration 的值相同。
durationLanguage
类型:  string optional
时长文本的 BCP-47 语言代码,例如“en-US”或“sr-Latn”。

如需了解详情,请参阅 http://www.unicode.org/reports/tr35/#Unicode_locale_identifier
staticDuration
类型:  string optional
未考虑路况的行程时长,以文本形式表示。
staticDurationLanguage
类型:  string optional
静态时长文本的 BCP-47 语言代码,例如“en-US”或“sr-Latn”。
transitFare
类型:  string optional
以文本形式表示的公交票价。
transitFareLanguage
类型:  string optional
公交票价文本的 BCP-47 语言代码,例如“en-US”或“sr-Latn”。
toJSON
toJSON()
参数:无
返回值:  Object
转换为对象。

RouteModifiers 接口

google.maps.routes.RouteModifiers 接口

封装了一组在计算路线时要满足的可选条件。

avoidFerries optional
类型:  boolean optional
如果设置为 true,则在合理的情况下避开轮渡,优先选择不包含轮渡的路线。仅适用于 DRIVINGTWO_WHEELER TravelMode
avoidHighways optional
类型:  boolean optional
如果设置为 true,则在合理的情况下避开高速公路,优先选择不包含高速公路的路线。仅适用于 DRIVINGTWO_WHEELER TravelMode
avoidIndoor optional
类型:  boolean optional
如果设置为 true,则在合理的情况下避免室内导航,优先选择不包含室内导航的路线。仅适用于 WALKING TravelMode
avoidTolls optional
类型:  boolean optional
如果设置为 true,则尽可能避开收费路段,优先选择不包含收费路段的路线。仅适用于 DRIVINGTWO_WHEELER TravelMode
tollPasses optional
类型:  Iterable<string> optional
封装有关收费通行卡的信息。如果提供了通行卡,API 会尝试返回通行卡价格。如果未提供通行卡,API 会将通行卡视为未知,并尝试返回现金价格。仅适用于 DRIVINGTWO_WHEELER TravelMode。如需查看有效值的列表,请参阅 TollPass
vehicleInfo optional
类型:  VehicleInfo optional
指定车辆信息。

RoutePolylineDetails 接口

google.maps.routes.RoutePolylineDetails 接口

有关与可用于自定义多段线样式的多段线对应的路线部分的详细信息。

speed optional
类型:  Speed optional
与相应多段线对应的路段的速度读数。仅针对包含路况信息的路线填充。
transitDetails optional
类型:  TransitDetails optional
与相应多段线对应的路线部分的公交详情。仅针对包含公交信息的路线填充。
travelMode optional
类型:  TravelMode optional
与相应多段线对应的路线路段的出行方式。对于流量折线,此字段为空。

RoutePolylineOptions 接口

google.maps.routes.RoutePolylineOptions 接口

用于创建路线折线的选项。

colorScheme optional
类型:  ColorScheme optional
用于多段线的配色方案。如果指定为 FOLLOW_SYSTEM,且地图 colorScheme 也为 FOLLOW_SYSTEM,则折线将以与地图相同的深色/浅色模式绘制。如果未指定,Route.createPolylines 会尝试使用地图的 colorScheme,或回退到系统默认值。
polylineOptions optional
用于自定义多段线样式的选项。可以是应用于路线的所有多段线的 PolylineOptions 对象,也可以是接受默认 PolylineOptionsRoutePolylineDetails 并返回要应用于相应多段线的 PolylineOptions 的函数。

RouteTravelAdvisory

google.maps.routes.RouteTravelAdvisory

包含用户应在 Route 上了解的其他信息。

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

fuelConsumptionMicroliters
类型:  number optional
预测的燃料消耗量(以微升为单位)。

注意:如果燃油消耗量超过 2^53 微升,则此值为 Number.POSITIVE_INFINITY
routeRestrictionsPartiallyIgnored
类型:  boolean optional
Route可能存在不适合所请求的出行方式或路线修改器的限制。
speedReadingIntervals
类型:  Array<SpeedReadingInterval> optional
详细说明流量密度的快速阅读间隔。适用于 TRAFFIC_AWARETRAFFIC_AWARE_OPTIMAL ComputeRoutesRequest.routingPreference。这些区间涵盖了 Route 的整个折线,且不重叠。指定区间的起点与前一个区间的终点相同。

示例:
  polyline: A ---- B ---- C ---- D ---- E ---- F ---- G 
speedReadingIntervals: [A,C), [C,D), [D,G)
tollInfo
类型:  TollInfo optional
包含有关 Route 上通行费的信息。仅当 Route 上预计会产生通行费时,系统才会填充此字段。如果设置了此字段,但未填充 TollInfo.estimatedPrices,则表示相应路线包含收费路段,但估计价格未知。如果此字段为空,则表示 Route 上没有收费站。
transitFare
类型:  Money optional
如果存在,则包含相应 Route 的总票价或票务费用。此属性仅针对 TRANSIT ComputeRoutesRequest.travelMode 返回,并且仅适用于所有公交路程均有票价信息的路线。
toJSON
toJSON()
参数:无
返回值:  Object
转换为对象。

RoutingPreference 常量

google.maps.routes.RoutingPreference 常量

计算路线时要考虑的因素。

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

TRAFFIC_AWARE 计算路线时会考虑实时路况。与 TRAFFIC_AWARE_OPTIMAL 相比,某些优化旨在大幅减少延迟时间。
TRAFFIC_AWARE_OPTIMAL 计算路线时会考虑实时路况,但不会应用大多数性能优化。使用此值会产生最高的延迟时间。
TRAFFIC_UNAWARE 计算路线时不考虑实时路况。适用于交通状况无关紧要或不适用的情况。使用此值可实现最低延迟时间。

速度常量

google.maps.routes.Speed 常量

基于流量数据的折线速度分类。

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

NORMAL 正常速度,交通顺畅。
SLOW 检测到减速,车流量中等。
TRAFFIC_JAM 交通拥堵。

SpeedPath 接口

google.maps.routes.SpeedPath 接口

将路线间隔的 LatLngAltitude 与该间隔的速度读数分组在一起。

path
类型:  Array<LatLngAltitude>
相应速度路径所涵盖的路径。
speed optional
类型:  Speed optional
路径的朗读速度。

SpeedReadingInterval

google.maps.routes.SpeedReadingInterval

多段线或路径的连续路段上的流量密度指示器。给定一条包含点 P_0、P_1、...、P_N(从零开始的索引)的路径,SpeedReadingInterval 描述的是某个时间段的交通密度。

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

endPolylinePointIndex
类型:  number optional
折线中相应区间的结束索引。
speed
类型:  Speed optional
相应时间间隔内的交通速度。
startPolylinePointIndex
类型:  number optional
相应间隔在多段线中的起始索引。
toJSON
toJSON()
参数:无
返回值:无
转换为对象。

StepsOverview

google.maps.routes.StepsOverview

提供有关 RouteLeg.steps 列表的概览信息。

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

multiModalSegments
有关 RouteLeg.steps 的不同多模态片段的摘要信息。
toJSON
toJSON()
参数:无
返回值:  Object
转换为对象。

TollInfo

google.maps.routes.TollInfo

封装 RouteRouteLeg 上的收费信息。

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

estimatedPrices
类型:  Array<Money> optional
相应 RouteRouteLeg 的通行费金额。此列表包含收费站预计收取的每种币种的金额。通常,此列表仅包含一种币种的收费路线。对于国际行程,此列表可能包含多个项目,以反映不同币种的过路费。
toJSON
toJSON()
参数:无
返回值:  Object
转换为对象。

TransitAgency

google.maps.routes.TransitAgency

公交机构的相关信息。

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

name
类型:  string optional
相应公交公司的名称。
phoneNumber
类型:  string optional
公交公司的本地化格式电话号码。
url
类型:  URL optional
公交公司的网址。
toJSON
toJSON()
参数:无
返回值:  Object
转换为对象。

TransitDetails

google.maps.routes.TransitDetails

有关路线中某个公交步骤的其他信息。

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

arrivalStop
类型:  TransitStop optional
相应步骤的到达站点的相关信息。
arrivalTime
类型:  Date optional
相应步骤的预计到达时间。
departureStop
类型:  TransitStop optional
相应步骤的出发站的相关信息。
departureTime
类型:  Date optional
相应路段的预计出发时间。
headsign
类型:  string optional
指定该线路的行进方向,如车辆或出发站所标示的方向。方向通常为终点站。
headwayMillis
类型:  number optional
指定目前同一车站各次发车的预计间隔时间(以毫秒为单位)。例如,如果间隔时间值为 600,000,那么如果您错过了一班公交,预计需要 10 分钟才能等到下一班。

注意:如果车头时距超过 2^53 毫秒,则此值为 Number.POSITIVE_INFINITY
stopCount
类型:  number
从出发站到到达站的经停站数量。此数量包含到达站,但不包含出发站。例如,如果您的路线是从 A 站出发,途经 B 站和 C 站,最终到达 D 站,那么 stopCount 将为 3。
transitLine
类型:  TransitLine optional
相应路段中所用公交线路的相关信息。
tripShortText
类型:  string optional
显示在时刻表和指示牌中,用于向乘客标识公交行程的文字。该文本可唯一标识服务日内的行程。例如,“538”是 Amtrak 列车的 tripShortText,该列车在工作日 15:10 从加利福尼亚州圣何塞出发,前往加利福尼亚州萨克拉门托。
toJSON
toJSON()
参数:无
返回值:  Object
转换为对象。

TransitLine

google.maps.routes.TransitLine

有关公交线路的信息。

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

agencies
类型:  Array<TransitAgency>
运营相应公交线路的公交公司。
color
类型:  string optional
相应线路的站牌上常用的颜色。以十六进制表示。
iconURL
类型:  URL optional
与相应线路相关联的图标的网址。
name
类型:  string optional
相应公交线路的全名,例如“8 Avenue Local”。
shortName
类型:  string optional
相应公交线路的简称。此名称通常是线路编号,例如“M7”或“355”。
textColor
类型:  string optional
该线路站牌上常用的文字颜色。以十六进制表示。
url
类型:  URL optional
相应公交线路的网址(由公交公司提供)。
vehicle
类型:  TransitVehicle optional
相应公交线路上运行的交通工具类型。
toJSON
toJSON()
参数:无
返回值:  Object
转换为对象。

TransitPreference 接口

google.maps.routes.TransitPreference 接口

影响返回路线的基于 TRANSIT 的路线偏好设置。

allowedTransitModes optional
类型:  Iterable<TransitMode> optional
获取 TRANSIT 路线时要使用的一组出行方式。默认为所有支持的出行方式。
routingPreference optional
类型:  TransitRoutePreference optional
一种路由偏好设置,指定后会影响返回的 TRANSIT 路线。

TransitStop

google.maps.routes.TransitStop

有关中转站的信息。

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

location
类型:  DirectionalLocation optional
经停点的位置(以纬度/经度坐标表示)以及可选的方向。
name
类型:  string optional
公交站的名称。
toJSON
toJSON()
参数:无
返回值:  Object
转换为对象。

TransitVehicle

google.maps.routes.TransitVehicle

有关公交路线中使用的车辆的信息。

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

iconURL
类型:  URL optional
与相应交通工具类型相关联的图标的网址。
localIconURL
类型:  URL optional
与该交通工具类型相关联的图标的网址(取决于当地交通标志)。
name
类型:  string optional
相应车辆的名称(采用大写形式)。
nameLanguage
类型:  string optional
车辆名称文本的 BCP-47 语言代码,例如“en-US”或“sr-Latn”。

如需了解详情,请参阅:https://www.unicode.org/reports/tr35/#Unicode_locale_identifier
vehicleType
类型:  string optional
所用车辆的类型。

如需查看可能的值的列表,请参阅 https://developers.google.com/maps/documentation/routes/reference/rpc/google.maps.routing.v2#transitvehicletype
toJSON
toJSON()
参数:无
返回值:  Object
转换为对象。

VehicleEmissionType 常量

google.maps.routes.VehicleEmissionType 常量

一组描述车辆排放类型的值。仅适用于 DRIVING 出行模式。

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

DIESEL 柴油车。
ELECTRIC 电力驱动的车辆。
GASOLINE 以汽油为燃料的车辆。
HYBRID 混合动力(例如汽油 + 电动)汽车。

VehicleInfo 接口

google.maps.routes.VehicleInfo 接口

包含车辆信息,例如车辆排放类型。

emissionType optional
类型:  VehicleEmissionType optional
描述车辆的排放类型。仅适用于 DRIVING 出行模式。

Waypoint接口

google.maps.routes.Waypoint 接口

表示路线中的途经点。

location
途经点的位置。字符串可以是地址、Plus Code 或 Place 资源名称。
sideOfRoad optional
类型:  boolean optional
表示此航点的位置旨在让车辆优先停靠在道路的特定一侧。设置此值后,路线将经过相应位置,以便车辆停靠在道路中心偏向该位置的一侧。此选项仅适用于 DRIVINGTWO_WHEELER ComputeRoutesRequest.travelMode
vehicleStopover optional
类型:  boolean optional
表示此途经点供车辆停靠,目的是接客或送客。设置此值后,计算出的路线不会包含不适合接客和送客的道路上的非 via 途经点。此选项仅适用于 DRIVINGTWO_WHEELER ComputeRoutesRequest.travelMode,且 Waypoint.location 不是 stringPlace
via optional
类型:  boolean optional
将此途径点标记为里程碑,而非停靠点。对于 ComputeRoutesRequest 中的每个非 via 途经点,Route.computeRoutes 都会向 Route.legs 数组附加一个条目,以提供相应行程路段中途经点的详细信息。

如果您希望路线经过此途经点而不在此停留,请将此值设置为 true。途经航点不会导致向 Route.legs 数组添加条目,但它们确实会使行程途经该航点。

注意事项:
  • 您只能在中间途经点上设置此值。如果您在终点航点上设置此字段,则请求会失败。
  • 如果 ComputeRoutesRequest.optimizeWaypointOrder 设置为 true,则此字段不能设置为 true;否则,请求会失败。

WaypointMarkerDetails 接口

google.maps.routes.WaypointMarkerDetails 接口

可用于自定义标记样式的途经点的详细信息。

index
类型:  number
标记的索引。
totalMarkers
类型:  number
路线中的标记总数。
leg optional
类型:  RouteLeg optional
标记所属的行程段。如果路线没有路段,则为空。