Routes Data

Route 类

class google.maps.routes.Route
library "routes"

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

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

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

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

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

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

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

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

注意:routeToken 仅适用于将 ComputeRoutesRequest.routingPreference 设置为 TRAFFIC_AWARE 或 TRAFFIC_AWARE_OPTIMAL 的请求。对于具有 via 个航点的请求,不支持此功能。
speedPaths
readonly
类型:Array<SpeedPath> optional
路线路径各路段的分组及其对应的速度读数。如需填充此字段,必须将 ComputeRoutesRequest.routingPreference 设置为 TRAFFIC_AWARE 或 TRAFFIC_AWARE_OPTIMAL,并且 ComputeRoutesRequest.extraComputations 必须包含 TRAFFIC_ON_POLYLINE。
staticDurationMillis
readonly
类型:number optional
在不考虑路况信息的情况下,沿路线行驶的时长。

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

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

路况多段线:
  • 要求:
  • 当速度读数与前一个路段不同时,为每个路段创建一条多段线。多段线已应用基于速度的默认样式。您可以传入选项,以便根据速度更改多段线样式。

总体多段线:
  • 要求:
  • 为整条路线创建一条多段线,并应用默认样式。您可以传入选项,以便根据路线出行方式更改多段线样式。如需进一步自定义,请直接使用 Route.path 或 RouteLeg.path 创建多段线。
AlphacreatePopover
createPopover()
参数:无
返回值:Promise<PopoverElement>
根据路线的可用数据为路线创建弹出式窗口,其配置方式适合在地图上为路线添加注释。目前使用 Route.localizedValues、Route.path和 Route.legs(如果可用)。
createWaypointAdvancedMarkers
createWaypointAdvancedMarkers([options])
为路线创建标记,并为每个航点分别添加“A”“B”“C”等标签。标记已应用默认样式。您可以传入选项,以便根据标记索引或相应 RouteLeg 的属性来更改标记样式。如果路线没有路段,则 WaypointMarkerDetails.leg 参数将未定义。

必须在 ComputeRoutesRequest.fields 中请求 "legs" 字段,才能包含中间航点。
AlphacreateWaypointMarkers
参数:
返回值:Promise<Array<T>>
为路线的起点和终点创建标记。除非指定了 customOverride 函数,否则标记会应用默认样式。目前不支持中间航点。

默认情况下,所创建标记的 CollisionBehavior 会设置为 CollisionBehavior.REQUIRED_AND_HIDES_OPTIONAL。默认情况下,创建的标记具有本地化的 title(“起点”或“终点”),可在 forEach 中替换。对于 Marker3DElement 和 Marker3DInteractiveElement 标记,sizePreserved 默认设置为 true,也可以在 forEach 中替换。
继承: toJSON

ComputeRoutesRequest 接口

接口 google.maps.routes.ComputeRoutesRequest

路线请求。

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

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

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

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

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

ComputeRoutesExtraComputation 常量

常量 google.maps.routes.ComputeRoutesExtraComputation
库 "routes"

完成请求时要执行的额外计算。如需了解详情,请参阅网络服务文档。

这些常量也可以用作字符串。在 TypeScript 中,字符串字面量由 ComputeRoutesExtraComputationString 类型定义。

const {ComputeRoutesExtraComputation} = await google.maps.importLibrary("routes");
FLYOVER_INFO_ON_POLYLINE 路线的飞越信息。如需了解详情,请参阅网络服务文档。
FUEL_CONSUMPTION 路线的预估燃料消耗量。如需了解详情,请参阅网络服务文档。
HTML_FORMATTED_NAVIGATION_INSTRUCTIONS 如需了解详情,请参阅网络服务文档。
NARROW_ROAD_INFO_ON_POLYLINE 路线的狭窄道路信息。如需了解详情,请参阅网络服务文档。
TOLLS 路线的收费信息。如需了解详情,请参阅网络服务文档。
TRAFFIC_ON_POLYLINE 路线的可感知路况的多段线。如需了解详情,请参阅网络服务文档。

CreateWaypointMarkersOptions 接口

接口 google.maps.routes.CreateWaypointMarkersOptions<T = MarkerElement|Marker3DElement|MarkerInteractiveElement|Marker3DInteractiveElement>

用于创建航点标记的选项。

forEach
可选
类型:function(T): void optional
用于更改所创建元素的自定义函数。默认的 forEach 函数会为每个标记附加带有 A-Z 字形的图钉。如需实现不同的行为,请替换此函数。
markerClass
可选
类型:new () => T optional
要创建的元素的构造函数。支持的类型包括:

DirectionalLocationLiteral 接口

interface google.maps.routes.DirectionalLocationLiteral extends LatLngAltitudeLiteral, LatLngLiteral
implemented by DirectionalLocation

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

heading
可选
类型:number optional
与车流方向关联的罗盘航向。朝向值可以是 0 到 360 之间的数字,其中 0 表示正北,90 表示正东,依此类推。您只能将此字段用于 DRIVING 和 TWO_WHEELER ComputeRoutesRequest.travelMode。
继承的方法: altitude、lat、lng

DirectionalLocation 类

class google.maps.routes.DirectionalLocation extends LatLngAltitude implements DirectionalLocationLiteral, LatLngAltitudeLiteral, LatLngLiteral
library "routes"

封装地理位置点和可选航向。

const {DirectionalLocation} = await google.maps.importLibrary("routes");
继承: LatLngAltitude
heading
readonly
类型:number optional
与车流方向关联的罗盘航向。朝向值可以是 0 到 360 之间的数字,其中 0 表示正北,90 表示正东,依此类推。您只能将此字段用于 DRIVING 和 TWO_WHEELER ComputeRoutesRequest.travelMode。
继承的方法: altitude、lat、lng
toJSON
toJSON([key])
参数:
  • key: string optional
转换为普通对象。
继承: equals

FallbackInfo 类

class google.maps.routes.FallbackInfo
library "routes"

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

const {FallbackInfo} = await google.maps.importLibrary("routes");
reason
readonly
类型:FallbackReason optional
使用后备回答而非原始回答的原因。仅当触发后备模式并返回后备回答时,系统才会填充此字段。
routingMode
readonly
类型:FallbackRoutingMode optional
用于回答的路由模式。如果触发了回退,则模式可能与原始客户端请求中设置的路线偏好设置不同。
继承: toJSON

FallbackReason 常量

常量 google.maps.routes.FallbackReason
库 "routes"

使用后备回答的原因。如需了解详情,请参阅网络服务文档。

这些常量也可以用作字符串。在 TypeScript 中,字符串字面量由 FallbackReasonString 类型定义。

const {FallbackReason} = await google.maps.importLibrary("routes");
LATENCY_EXCEEDED 我们无法及时使用您首选的路线规划模式完成计算,但我们能够返回通过备选模式计算出的结果。如需了解详情,请参阅网络服务文档。
SERVER_ERROR 使用您首选的路线规划模式计算路线时出现服务器错误,但我们能够返回通过备选模式计算的结果。如需了解详情,请参阅网络服务文档。

FallbackRoutingMode 常量

常量 google.maps.routes.FallbackRoutingMode
库 "routes"

用于返回的后备响应的实际路线规划模式。如需了解详情,请参阅网络服务文档。

这些常量也可以用作字符串。在 TypeScript 中,字符串字面量由 FallbackRoutingModeString 类型定义。

const {FallbackRoutingMode} = await google.maps.importLibrary("routes");
TRAFFIC_AWARE 如需了解详情,请参阅网络服务文档。
TRAFFIC_UNAWARE 如需了解详情,请参阅网络服务文档。

GeocodedWaypoint 类

class google.maps.routes.GeocodedWaypoint
library "routes"

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

const {GeocodedWaypoint} = await google.maps.importLibrary("routes");
geocoderStatus
readonly
类型:RPCStatus optional
表示地理编码操作生成的状态代码。
intermediateWaypointRequestIndex
readonly
类型:number optional
请求中对应中间航点的索引。仅当相应航点是中间航点时才会填充。
partialMatch
readonly
类型:boolean
表示地理编码器无法返回与原始请求完全匹配的结果,尽管它能够匹配所请求地址的一部分内容。您不妨检查一下原始请求中是否有拼写错误和/或地址不完整的情况。
placeId
readonly
类型:string
此结果的地点 ID。
types
readonly
类型:Array<string>
结果的类型,采用零个或多个类型标记的形式。如需了解支持的类型,请参阅 https://developers.google.com/maps/documentation/geocoding/requests-geocoding#Types。
继承: toJSON

GeocodingResults 类

class google.maps.routes.GeocodingResults
library "routes"

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

const {GeocodingResults} = await google.maps.importLibrary("routes");
destination
readonly
类型:GeocodedWaypoint optional
目的地的经过地理编码的航点。
intermediates
readonly
类型:Array<GeocodedWaypoint> optional
经过地理编码的中间航点列表,每个航点都包含一个索引字段,该字段对应于航点在请求中指定顺序的零基位置。
origin
readonly
类型:GeocodedWaypoint optional
出发地经过地理编码的航点。
继承: toJSON

MultiModalSegment 类

class google.maps.routes.MultiModalSegment
library "routes"

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

const {MultiModalSegment} = await google.maps.importLibrary("routes");
instructions
readonly
类型:string optional
有关如何浏览此多模态片段的说明。
maneuver
readonly
类型:string optional
在此步骤中要执行的导航操作。如需查看可能值的列表,请参阅机动。
stepEndIndex
readonly
类型:number
多模态片段结尾处的对应 RouteLegStep 索引。
stepStartIndex
readonly
类型:number
多模态片段起始位置对应的 RouteLegStep 索引。
travelMode
readonly
类型:TravelMode optional
此多模式路段使用的出行方式。
继承: toJSON

PolylineDetailInfo 类

class google.maps.routes.PolylineDetailInfo
library "routes"

封装有关一段多段线沿线的道路地图项的信息。

const {PolylineDetailInfo} = await google.maps.importLibrary("routes");
endIndex
readonly
类型:number optional
此道路地图项在多段线中的结束索引。
presence
readonly
类型:RoadFeatureState optional
表示多段线上是否存在道路特征。
startIndex
readonly
类型:number optional
此道路地图项在多段线中的起始索引。
继承: toJSON

PolylineDetails 类

class google.maps.routes.PolylineDetails
library "routes"

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

const {PolylineDetails} = await google.maps.importLibrary("routes");
flyoverInfo
readonly
沿多段线的航拍详情。
narrowRoadInfo
readonly
多段线沿线的狭窄道路详情。
继承: toJSON

PolylineQuality 常量

常量 google.maps.routes.PolylineQuality
库 "routes"

一组用于指定多段线质量的值。如需了解详情,请参阅网络服务文档。

这些常量也可以用作字符串。在 TypeScript 中,字符串字面量由 PolylineQualityString 类型定义。

const {PolylineQuality} = await google.maps.importLibrary("routes");
HIGH_QUALITY 指定高画质多段线,该多段线由比 OVERVIEW 更多的点组成,但代价是响应大小会增加。如需了解详情,请参阅网络服务文档。
OVERVIEW 指定概览多段线,该多段线由少量点组成。如需了解详情,请参阅网络服务文档。

ReferenceRoute 常量

常量 google.maps.routes.ReferenceRoute
库 "routes"

ComputeRoutesRequest 上支持的参考路线。如需了解详情,请参阅网络服务文档。

这些常量也可以用作字符串。在 TypeScript 中,字符串字面量由 ReferenceRouteString 类型定义。

const {ReferenceRoute} = await google.maps.importLibrary("routes");
FUEL_EFFICIENT 最省油路线。如需了解详情,请参阅网络服务文档。
SHORTER_DISTANCE 行程距离较短的路线。如需了解详情,请参阅网络服务文档。

RoadFeatureState 常量

常量 google.maps.routes.RoadFeatureState
库 "routes"

封装一段多段线沿线的道路地图项的状态。如需了解详情,请参阅网络服务文档。

这些常量也可以用作字符串。在 TypeScript 中,字符串字面量由 RoadFeatureStateString 类型定义。

const {RoadFeatureState} = await google.maps.importLibrary("routes");
DOES_NOT_EXIST 道路地图项不存在。如需了解详情,请参阅网络服务文档。
EXISTS 道路地图项存在。如需了解详情,请参阅网络服务文档。

RouteLabel 常量

常量 google.maps.routes.RouteLabel
库 "routes"

如需了解详情,请参阅网络服务文档。

这些常量也可以用作字符串。在 TypeScript 中,字符串字面量由 RouteLabelString 类型定义。

const {RouteLabel} = await google.maps.importLibrary("routes");
DEFAULT_ROUTE 为路线计算返回的默认“最佳”路线。如需了解详情,请参阅网络服务文档。
DEFAULT_ROUTE_ALTERNATE 默认“最佳”路线的替代路线。如需了解详情,请参阅网络服务文档。
FUEL_EFFICIENT 最省油路线。如需了解详情,请参阅网络服务文档。
SHORTER_DISTANCE 行程距离更短的路线。如需了解详情,请参阅网络服务文档。

RouteLeg 类

class google.maps.routes.RouteLeg
library "routes"

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

const {RouteLeg} = await google.maps.importLibrary("routes");
distanceMeters
readonly
类型:number
路线路段的行程距离,以米为单位。
durationMillis
readonly
类型:number optional
沿路线路段导航所需的时间长度(以毫秒为单位)。如果您将 ComputeRoutesRequest.routingPreference 设置为 TRAFFIC_UNAWARE,则此值与 staticDurationMillis 相同。如果您将 ComputeRoutesRequest.routingPreference 设置为 TRAFFIC_AWARE 或 TRAFFIC_AWARE_OPTIMAL,则系统会在计算此值时考虑路况信息。

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

注意:如果时长超过 2^53 毫秒,则此值为 Number.POSITIVE_INFINITY。
steps
readonly
一个步骤数组,表示此航段中的路段。每个步骤代表一条导航指令。
stepsOverview
readonly
类型:StepsOverview optional
此 RouteLeg 中步骤的概览信息。此字段仅针对 TRANSIT 路线进行填充。
travelAdvisory
readonly
类型:RouteLegTravelAdvisory optional
包含用户应了解的额外信息,例如路线路段上可能存在的交通区域限制。
继承: toJSON

RouteLegLocalizedValues 类

class google.maps.routes.RouteLegLocalizedValues
library "routes"

RouteLeg 的文本表示。

const {RouteLegLocalizedValues} = await google.maps.importLibrary("routes");
distance
readonly
类型:string optional
以文本形式表示的路线路段的行程距离。
distanceLanguage
readonly
类型:string optional
距离文本的 BCP-47 语言代码,例如“en-US”或“sr-Latn”。

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

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

RouteLegStep 类

class google.maps.routes.RouteLegStep
library "routes"

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

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

注意:如果时长超过 2^53 毫秒,则此值为 Number.POSITIVE_INFINITY。
transitDetails
readonly
类型:TransitDetails optional
如果出行方式为 TRANSIT,则为与此步骤相关的详细信息。
travelMode
readonly
类型:TravelMode optional
此步骤中使用的出行方式。
继承: toJSON

RouteLegStepLocalizedValues 类

class google.maps.routes.RouteLegStepLocalizedValues
library "routes"

RouteLegStep 属性的文本表示。

const {RouteLegStepLocalizedValues} = await google.maps.importLibrary("routes");
distance
readonly
类型:string optional
路线路段步骤的行程距离(文本形式)。
distanceLanguage
readonly
类型:string optional
距离文本的 BCP-47 语言代码,例如“en-US”或“sr-Latn”。

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

如需了解详情,请参阅 http://www.unicode.org/reports/tr35/#Unicode_locale_identifier。
继承: toJSON

RouteLegTravelAdvisory 类

class google.maps.routes.RouteLegTravelAdvisory
library "routes"

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

const {RouteLegTravelAdvisory} = await google.maps.importLibrary("routes");
speedReadingIntervals
readonly
类型:Array<SpeedReadingInterval> optional
详细说明交通密度的速度读取间隔。适用于 TRAFFIC_AWARE 和 TRAFFIC_AWARE_OPTIMAL ComputeRoutesRequest.routingPreference。这些区间涵盖 RouteLeg 的整个多段线,且不重叠。指定时间间隔的起点与前一个时间间隔的终点相同。

示例:
 polyline: A ---- B ---- C ---- D ---- E ---- F ---- G
speedReadingIntervals: [A,C), [C,D), [D,G)
tollInfo
readonly
类型:TollInfo optional
包含有关特定 RouteLeg 的通行费信息。只有在 RouteLeg 上预计会产生通行费时,系统才会填充此字段。如果此字段已设置,但 TollInfo.estimatedPrices 未填充,则表示路线路段包含通行费,但预估价格未知。如果此字段为空,则表示 RouteLeg 上没有收费站。
继承: toJSON

RouteLocalizedValues 类

class google.maps.routes.RouteLocalizedValues
library "routes"

Route 属性的文本表示。

const {RouteLocalizedValues} = await google.maps.importLibrary("routes");
distance
readonly
类型:string optional
以文本形式表示的路线行程距离。
distanceLanguage
readonly
类型:string optional
距离文本的 BCP-47 语言代码,例如“en-US”或“sr-Latn”。

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

如需了解详情,请参阅 http://www.unicode.org/reports/tr35/#Unicode_locale_identifier。
staticDuration
readonly
类型:string optional
不考虑路况信息的时长,以文本形式表示。
staticDurationLanguage
readonly
类型:string optional
静态时长文本的 BCP-47 语言代码,例如“en-US”或“sr-Latn”。
transitFare
readonly
类型:string optional
以文本形式表示的公交票价。
transitFareLanguage
readonly
类型:string optional
公交票价文本的 BCP-47 语言代码,例如“en-US”或“sr-Latn”。
继承: toJSON

RouteModifiers 接口

接口 google.maps.routes.RouteModifiers

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

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

RoutePolyline3DOptions 接口

接口 google.maps.routes.RoutePolyline3DOptions

用于创建路线 3D 多段线的选项。

polylineOptions
可选
用于自定义 3D 多段线样式的选项。
trafficPolylinesDisabled
可选
类型:boolean optional
是否停用路况感知多段线。只有在 routingPreference 设置为 TRAFFIC_AWARE 或 TRAFFIC_AWARE_OPTIMAL 时,才能使用可感知路况的多段线。

RoutePolylineDetails 接口

接口 google.maps.routes.RoutePolylineDetails

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

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

RoutePolylineOptions 接口

接口 google.maps.routes.RoutePolylineOptions

用于创建路线多段线的选项。

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

RouteTravelAdvisory 类

class google.maps.routes.RouteTravelAdvisory
library "routes"

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

const {RouteTravelAdvisory} = await google.maps.importLibrary("routes");
fuelConsumptionMicroliters
readonly
类型:number optional
预测的燃料消耗量(以微升为单位)。

注意:如果油耗超过 2^53 微升,则此值为 Number.POSITIVE_INFINITY。
routeRestrictionsPartiallyIgnored
readonly
类型:boolean optional
Route 可能存在不适合所请求的出行方式或路线修饰符的限制。
speedReadingIntervals
readonly
类型:Array<SpeedReadingInterval> optional
详细说明交通密度的速度读取间隔。适用于 TRAFFIC_AWARE 和 TRAFFIC_AWARE_OPTIMAL ComputeRoutesRequest.routingPreference。这些区间涵盖 Route 的整个多段线,且不重叠。指定时间间隔的起点与前一个时间间隔的终点相同。

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

RoutingPreference 常量

常量 google.maps.routes.RoutingPreference
库 "routes"

一组值,用于指定计算路线时要考虑的因素。如需了解详情,请参阅网络服务文档。

这些常量也可以用作字符串。在 TypeScript 中,字符串字面量由 RoutingPreferenceString 类型定义。

const {RoutingPreference} = await google.maps.importLibrary("routes");
TRAFFIC_AWARE 计算路线时会考虑实时路况信息。如需了解详情,请参阅网络服务文档。
TRAFFIC_AWARE_OPTIMAL 在计算路线时会考虑实时路况信息,但不会应用大多数性能优化。如需了解详情,请参阅网络服务文档。
TRAFFIC_UNAWARE 计算路线时不考虑实时路况信息。如需了解详情,请参阅网络服务文档。

Speed 常量

常量 google.maps.routes.Speed
库 "routes"

根据路况数据对多段线速度进行的分类。如需了解详情,请参阅网络服务文档。

这些常量也可以用作字符串。在 TypeScript 中,字符串字面量由 SpeedString 类型定义。

const {Speed} = await google.maps.importLibrary("routes");
NORMAL 正常速度,无交通延误。如需了解详情,请参阅网络服务文档。
SLOW 检测到缓行路段,车流量中等。如需了解详情,请参阅网络服务文档。
TRAFFIC_JAM 交通延误。如需了解详情,请参阅网络服务文档。

SpeedPath 接口

接口 google.maps.routes.SpeedPath

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

path
此速度路径涵盖的路径。
speed
可选
类型:Speed optional
路径的速度读数。

SpeedReadingInterval 类

class google.maps.routes.SpeedReadingInterval
library "routes"

多段线或路径的连续路段上的交通密度指示器。对于包含点 P_0、P_1、…、P_N(从零开始的索引)的路径,SpeedReadingInterval 描述了某个区间的交通密度。

const {SpeedReadingInterval} = await google.maps.importLibrary("routes");
endPolylinePointIndex
readonly
类型:number optional
此区间在多段线中的结束索引。
speed
readonly
类型:Speed optional
此时间间隔内的车流速度。
startPolylinePointIndex
readonly
类型:number optional
此区间在多段线中的起始索引。

StepsOverview 类

class google.maps.routes.StepsOverview
library "routes"

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

const {StepsOverview} = await google.maps.importLibrary("routes");
multiModalSegments
readonly
RouteLeg.steps 的不同多模态片段的摘要信息。
继承: toJSON

TollInfo 类

class google.maps.routes.TollInfo
library "routes"

封装 Route 或 RouteLeg 上的收费信息。

const {TollInfo} = await google.maps.importLibrary("routes");
estimatedPrices
readonly
类型:Array<Money> optional
相应 Route 或 RouteLeg 的通行费金额。此列表包含收费站预计收取的每种币种的金额。通常,对于以一种货币收取通行费的路线,此列表将仅包含一项。对于国际行程,此列表可能包含多个条目,以反映不同币种的通行费。如果预计会产生通行费,但预估价格未知,则此字段可能为空数组。
继承: toJSON

TransitAgency 类

class google.maps.routes.TransitAgency
library "routes"

公共交通公司的相关信息。

const {TransitAgency} = await google.maps.importLibrary("routes");
name
readonly
类型:string optional
此公共交通公司的名称。
phoneNumber
readonly
类型:string optional
公共交通公司的电话号码(采用特定于语言区域的格式)。
url
readonly
类型:URL optional
公共交通公司的网址。
继承: toJSON

TransitDetails 类

class google.maps.routes.TransitDetails
library "routes"

路线中公交步骤的其他信息。

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

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

TransitLine 类

class google.maps.routes.TransitLine
library "routes"

公交线路的相关信息。

const {TransitLine} = await google.maps.importLibrary("routes");
agencies
readonly
运营此公共交通线路的公共交通公司。
color
readonly
类型:string optional
该线路站牌常用的颜色。以十六进制表示。
iconURL
readonly
类型:URL optional
与该线路相关联的图标的网址。
name
readonly
类型:string optional
该公交线路的全名,例如“8 Avenue Local”。
shortName
readonly
类型:string optional
该公交线路的简称。此名称通常是线路编号,例如“M7”或“355”。
textColor
readonly
类型:string optional
该线路站牌文本中常用的颜色。以十六进制表示。
url
readonly
类型:URL optional
该公共交通线路的网址(由公共交通公司提供)。
vehicle
readonly
类型:TransitVehicle optional
此公交线路上的交通工具类型。
继承: toJSON

TransitPreference 接口

接口 google.maps.routes.TransitPreference

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

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

TransitStop 类

class google.maps.routes.TransitStop
library "routes"

有关公交车站的信息。

const {TransitStop} = await google.maps.importLibrary("routes");
location
readonly
类型:DirectionalLocation optional
经停点的位置,以经纬度坐标和可选航向表示。
name
readonly
类型:string optional
公交经停点的名称。
继承: toJSON

TransitVehicle 类

class google.maps.routes.TransitVehicle
library "routes"

公交路线中使用的交通工具的相关信息。

const {TransitVehicle} = await google.maps.importLibrary("routes");
iconURL
readonly
类型:URL optional
与此交通工具类型相关联的图标的网址。
localIconURL
readonly
类型:URL optional
与该交通工具类型相关联的图标的网址(取决于当地交通标志)。
name
readonly
类型:string optional
此交通工具的名称,首字母大写。
nameLanguage
readonly
类型:string optional
车辆名称文本的 BCP-47 语言代码,例如“en-US”或“sr-Latn”。

如需了解详情,请参阅:https://www.unicode.org/reports/tr35/#Unicode_locale_identifier。
vehicleType
readonly
类型:string optional
继承: toJSON

VehicleEmissionType 常量

常量 google.maps.routes.VehicleEmissionType
库 "routes"

一组描述车辆排放类型的值。如需了解详情,请参阅网络服务文档。

这些常量也可以用作字符串。在 TypeScript 中,字符串字面量由 VehicleEmissionTypeString 类型定义。

const {VehicleEmissionType} = await google.maps.importLibrary("routes");
DIESEL 柴油车。如需了解详情,请参阅网络服务文档。
ELECTRIC 电力驱动的车辆。如需了解详情,请参阅网络服务文档。
GASOLINE 汽油车。如需了解详情,请参阅网络服务文档。
HYBRID 混合燃料(例如汽油 + 电力)汽车。如需了解详情,请参阅网络服务文档。

VehicleInfo 接口

接口 google.maps.routes.VehicleInfo

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

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

Waypoint 接口

接口 google.maps.routes.Waypoint

表示路线中的航点。

location
航点的位置。字符串可以是地址、Plus Code 或地点资源名称。
sideOfRoad
可选
类型:boolean optional
表示此航点的位置旨在让车辆优先停靠在道路的特定一侧。设置此值后,路线将经过该位置,以便车辆可以在该位置偏向道路中心的一侧停车。此选项仅适用于 DRIVING 和 TWO_WHEELER ComputeRoutesRequest.travelMode
vehicleStopover
可选
类型:boolean optional
表示航点是供车辆停靠的,目的是接载或下客。设置此值后,计算出的路线不会在不适合接载和下客的道路上包含非 via 航点。此选项仅适用于 DRIVING 和 TWO_WHEELER ComputeRoutesRequest.travelMode,并且 Waypoint.location 不是 string 或 Place。
via
可选
类型: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
可选
类型:RouteLeg optional
标记所属的路段。如果路线没有路段,则为空。