Method: computeRoutes (Automotive)

在给定一组终端和中间航点的情况下,返回主路线以及可选的备选路线。

注意:此方法要求您在输入中指定响应字段掩码。您可以通过以下两种方式提供响应字段掩码:使用网址参数 $fieldsfields,或者使用 HTTP/gRPC 标头 X-Goog-FieldMask(请参阅可用的网址参数和标头)。该值是以英文逗号分隔的字段路径列表。请参阅有关如何构造字段路径的详细文档。

例如,在此方法中:

  • 所有可用字段的字段掩码(用于手动检查):X-Goog-FieldMask: *
  • 路线级时长、距离和多段线的字段掩码(生产设置示例):X-Goog-FieldMask: routes.duration,routes.distanceMeters,routes.polyline.encodedPolyline

Google 不建议使用通配符 (*) 响应字段掩码,也不在顶级 (routes) 指定字段掩码,原因如下:

  • 仅选择您需要的字段有助于我们的服务器节省计算周期,从而以更低的延迟将结果返回给您。
  • 在生产作业中仅选择您需要的字段,以确保延迟性能稳定。我们未来可能会添加更多响应字段,而这些新字段可能需要额外的计算时间。如果您选择所有字段,或选择顶级的所有字段,则性能可能会下降,因为我们添加的任何新字段都会自动包含在响应中。
  • 仅选择您需要的字段可以减小响应大小,从而实现更高的网络吞吐量。

HTTP 请求

POST https://routes.googleapis.com/directions/v2:computeRoutes

网址采用 gRPC 转码语法。

请求正文

请求正文中包含结构如下的数据:

JSON 表示法
{
  "origin": {
    object (Waypoint)
  },
  "destination": {
    object (Waypoint)
  },
  "intermediates": [
    {
      object (Waypoint)
    }
  ],
  "travelMode": enum (RouteTravelMode),
  "routingPreference": enum (RoutingPreference),
  "polylineQuality": enum (PolylineQuality),
  "polylineEncoding": enum (PolylineEncoding),
  "departureTime": string,
  "arrivalTime": string,
  "computeAlternativeRoutes": boolean,
  "routeModifiers": {
    object (RouteModifiers)
  },
  "languageCode": string,
  "regionCode": string,
  "units": enum (Units),
  "optimizeWaypointOrder": boolean,
  "requestedReferenceRoutes": [
    enum (ReferenceRoute)
  ],
  "extraComputations": [
    enum (ExtraComputation)
  ],
  "routeToken": string,
  "routeTokenOptions": {
    object (RouteTokenOptions)
  },
  "trafficModel": enum (TrafficModel),
  "transitPreferences": {
    object (TransitPreferences)
  },
  "navigationSessionId": string
}
字段
origin

object (Waypoint)

必需。出发地航点。

destination

object (Waypoint)

必需。目的地航点。

intermediates[]

object (Waypoint)

可选。路线沿途的一组航点(不包括航站点),可在以下地点经停或经过。最多支持 25 个中间航点。

travelMode

enum (RouteTravelMode)

可选。指定交通方式。

routingPreference

enum (RoutingPreference)

可选。指定如何计算路线。服务器会尝试使用所选的路由偏好设置来计算路由。如果路由偏好设置导致错误或延迟时间过长,则返回错误。只有在 travelModeDRIVETWO_WHEELER 时才能指定此选项,否则请求会失败。

polylineQuality

enum (PolylineQuality)

可选。用于指定您对多段线质量的首选项。

polylineEncoding

enum (PolylineEncoding)

可选。指定多段线的首选编码。

departureTime

string (Timestamp format)

可选。出发时间。如果未设置此值,则此值默认为您发出请求的时间。注意:当 RouteTravelMode 设置为 TRANSIT 时,您只能指定过去的 departureTime。提供过去最多 7 天或未来 100 天的公交行程。

时间戳采用 RFC3339 世界协调时间(UTC,即“祖鲁时”)格式,精确到纳秒,最多九个小数位。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

arrivalTime

string (Timestamp format)

可选。到达时间。注意:只有在 RouteTravelMode 设置为 TRANSIT 时才能设置。您可以指定 departureTimearrivalTime,但不能同时指定这两者。提供过去最多 7 天或未来 100 天的公交行程。

时间戳采用 RFC3339 世界协调时间(UTC,即“祖鲁时”)格式,精确到纳秒,最多九个小数位。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

computeAlternativeRoutes

boolean

可选。指定除了路线之外,是否计算备选路线。对于具有中间航点的请求,不会返回任何备选路线。

routeModifiers

object (RouteModifiers)

可选。一组要满足的条件,这些条件会影响路线的计算方式。

languageCode

string

可选。BCP-47 语言代码,例如“en-US”或“sr-Latn”。如需了解详情,请参阅 Unicode 语言区域标识符。如需查看受支持语言的列表,请参阅语言支持。如果您未提供此值,系统会根据路线请求的位置推断出显示语言。

regionCode

string

可选。地区代码,指定为 ccTLD(“顶级域名”)双字符值。如需了解详情,请参阅国家/地区代码顶级域名

units

enum (Units)

可选。指定显示字段的测量单位。这些字段包括 NavigationInstruction 中的 instruction 字段。路线、路程、步数、距离和时长所使用的测量单位不受此值的影响。如果您不提供此值,则系统会根据第一个起点的位置推断出显示单位。

optimizeWaypointOrder

boolean

可选。如果设置为 true,该服务会尝试对指定的中间路标重新排序,从而最大限度地降低路线的总体成本。如果有任何中间航点是 via 航点,请求将失败。使用 ComputeRoutesResponse.Routes.optimized_intermediate_waypoint_index 查找新排序。如果 X-Goog-FieldMask 标头中没有请求 ComputeRoutesResponseroutes.optimized_intermediate_waypoint_index,请求将失败。如果 optimizeWaypointOrder 设置为 false,ComputeRoutesResponse.optimized_intermediate_waypoint_index 将为空。

requestedReferenceRoutes[]

enum (ReferenceRoute)

可选。指定除了默认路线之外还要作为请求的一部分计算的参考路线。参考路线是指与默认路线具有不同路线计算目标的路线。例如,FUEL_EFFICIENT 参考路线计算会考虑生成最优燃料效率路线的各种参数。

extraComputations[]

enum (ExtraComputation)

可选。可用于完成请求的额外计算的列表。注意:这些额外的计算可能会在响应中返回额外字段。您还必须在要在响应中返回的字段掩码中指定这些额外字段。

routeToken
(deprecated)

string

可选。已弃用:请改用 routeTokenOptions.route_token

routeTokenOptions

object (RouteTokenOptions)

可选。路由令牌允许请求依赖于之前选择的路由。

trafficModel

enum (TrafficModel)

可选。指定计算交通时间时要使用的假设条件。此设置会影响 RouteRouteLeg 中的时长字段中返回的值,该值包含根据历史平均值预测的交通时间。TrafficModel 仅适用于将 RoutingPreference 设置为 TRAFFIC_AWARE_OPTIMALRouteTravelMode 设置为 DRIVE 的请求。如果请求了流量但未指定 TrafficModel,则默认值为 BEST_GUESS

transitPreferences

object (TransitPreferences)

可选。指定影响为 TRANSIT 路由返回的路由的偏好设置。注意:只有在 RouteTravelMode 设置为 TRANSIT 时,您才能指定 transitPreferences

navigationSessionId

string

可选。客户端生成的导航会话 ID,用于将此路线请求与客户端导航日志相关联,以进行导航分析。这应该是随机生成的符合 RFC 4122 规范的 UUID,并且是特定导航会话所独有的。

响应正文

v2.computeRoutes 响应消息。

如果成功,响应正文将包含结构如下的数据:

JSON 表示法
{
  "routes": [
    {
      object (Route)
    }
  ],
  "fallbackInfo": {
    object (FallbackInfo)
  },
  "geocodingResults": {
    object (GeocodingResults)
  }
}
字段
routes[]

object (Route)

包含在指定 compute_alternatives_routes 时计算出的路线的数组(最多三个),如果未指定,则仅包含一条路线。如果此数组包含多个条目,则第一个条目是最推荐的路线。如果数组为空,则表示找不到路线。

fallbackInfo

object (FallbackInfo)

在某些情况下,当服务器无法使用所有输入偏好设置计算出路线结果时,可能会回退到使用其他计算方法。使用回退模式时,此字段包含有关回退响应的详细信息。否则,此字段将处于未设置状态。

geocodingResults

object (GeocodingResults)

包含指定为地址的航点的地理编码响应信息。

PolylineQuality

一组用于指定多段线质量的值。

枚举
POLYLINE_QUALITY_UNSPECIFIED 未指定多段线的质量首选项。默认为 OVERVIEW
HIGH_QUALITY 指定高质量多段线,其使用的点数超过 OVERVIEW,但响应大小会增加。如果需要更高的精度,请使用此值。
OVERVIEW 指定总览多段线,该多段线由少量的点组成。在显示路线概览时使用此值。与使用 HIGH_QUALITY 选项相比,使用此选项的请求延迟时间更短。

PolylineEncoding

指定要返回的首选多段线类型。

枚举
POLYLINE_ENCODING_UNSPECIFIED 未指定多段线类型使用偏好。默认为 ENCODED_POLYLINE
ENCODED_POLYLINE 用于指定使用多段线编码算法编码的多段线。
GEO_JSON_LINESTRING 使用 GeoJSON LineString 格式指定多段线

ReferenceRoute

ComputeRoutesRequest 上支持的参考路由。

枚举
REFERENCE_ROUTE_UNSPECIFIED 未使用。包含此值的请求将失败。
FUEL_EFFICIENT 省油路线。标有此值的路线被确定为针对燃料消耗等参数进行优化。

ExtraComputation

完成请求时要执行的额外计算。

枚举
EXTRA_COMPUTATION_UNSPECIFIED 未使用。包含此值的请求将失败。
TOLLS 路线的收费信息。
FUEL_CONSUMPTION 路线的估算燃料消耗量。
TRAFFIC_ON_POLYLINE 路线的可感知路况的多段线。
HTML_FORMATTED_NAVIGATION_INSTRUCTIONS NavigationInstructions,以格式化的 HTML 文本字符串表示。此内容应按原样阅读,且仅用于展示。请勿以程序化方式对其进行解析。
PREDICTED_SPEED_ON_POLYLINE_20KPH_BUCKETS 预测的速度为 20 公里/小时。以下 predicted_speed_intervals 中的结果:[0, 10) kph、[10, 30) kph、... [110, 130) kph、[130, inf) kph。
PREDICTED_SPEED_ON_POLYLINE_10KPH_BUCKETS 预测的速度为 10 公里/小时。以下 predicted_speed_intervals 中的结果:[0, 10) kph、[10, 20) kph、... [120, 130) kph、[130, inf) kph。

RouteTokenOptions

与路由令牌相关的选项。

JSON 表示法
{
  "routeToken": string,
  "routeTokenBehavior": enum (RouteTokenBehavior)
}
字段
routeToken

string

可选。如果设置,则会尽可能生成与令牌关联的路线“相似”的路线。您仍必须提供原始查询参数(例如出发地、目的地等)。

routeTokenBehavior

enum (RouteTokenBehavior)

可选。有关如何治疗 routeToken 的指示。

RouteTokenBehavior

路由令牌支持的模式。

枚举
ROUTE_TOKEN_BEHAVIOR_UNSPECIFIED 作为 GET_ROUTE_UPDATES 处理,以确保兼容性。
GET_ROUTE_UPDATES 如果 |origin| 位于 routeToken 表示的路线上,生成的路线之一就是 routeToken 表示的路线。其余路由无关。当 |origin| 接近 routeToken 的起始位置(即用户没有离开 routeToken 的生成位置)时,更新最为高效。
GET_SIMILAR_ROUTES routeToken 表示的路线不会包含在响应中,但其他路线会将与 routeToken 的相似度用作其排名的加权因子。

路由

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

JSON 表示法
{
  "routeLabels": [
    enum (RouteLabel)
  ],
  "legs": [
    {
      object (RouteLeg)
    }
  ],
  "distanceMeters": integer,
  "duration": string,
  "staticDuration": string,
  "polyline": {
    object (Polyline)
  },
  "description": string,
  "warnings": [
    string
  ],
  "viewport": {
    object (Viewport)
  },
  "travelAdvisory": {
    object (RouteTravelAdvisory)
  },
  "optimizedIntermediateWaypointIndex": [
    integer
  ],
  "localizedValues": {
    object (RouteLocalizedValues)
  },
  "routeToken": string,
  "routeTokenUpdateFidelity": enum (RouteTokenUpdateFidelity),
  "polylineDetails": {
    object (PolylineDetails)
  }
}
字段
routeLabels[]

enum (RouteLabel)

Route 的标签,用于标识路线的特定属性,以便与其他属性进行比较。

legs[]

object (RouteLeg)

组成路线的路程(航点之间的路径段)的集合。每段路程都对应于两个非 via Waypoints 之间的行程。例如,没有中间航点的路线只有一段路程。包含一个非 via 中间航点的路线有两段路程。包含 1 个 via 中间航点的路线有一段路程。路程顺序与从 originintermediates 再到 destination 的航点顺序一致。

distanceMeters

integer

路线的行程距离(以米为单位)。

duration

string (Duration format)

导航路线所需的时长。如果您将 routingPreference 设置为 TRAFFIC_UNAWARE,则此值与 staticDuration 相同。如果您将 routingPreference 设置为 TRAFFIC_AWARETRAFFIC_AWARE_OPTIMAL,则系统在计算此值时会考虑到路况信息。

该时长以秒为单位,最多包含九个小数位,以“s”结尾。示例:"3.5s"

staticDuration

string (Duration format)

在不考虑路况信息的情况下经过路线的时长。

该时长以秒为单位,最多包含九个小数位,以“s”结尾。示例:"3.5s"

polyline

object (Polyline)

整个路线多段线。此多段线由所有 legs 组合而成。

description

string

路线的说明。

warnings[]

string

显示路线时要显示的警告数组。

viewport

object (Viewport)

多段线的视口边界框。

travelAdvisory

object (RouteTravelAdvisory)

有关该路线的其他信息。

optimizedIntermediateWaypointIndex[]

integer

如果将 optimizeWaypointOrder 设置为 true,则此字段包含中间航点的优化顺序。否则,此字段为空。例如,如果您输入 Origin: LA;中间路标:Dallas, Bangor, Phoenix; Destination: New York;并且优化的中间路径点顺序为 Phoenix, Dallas, Bangor,则此字段会包含值 [2, 0, 1]。对于输入中提供的第一个中间航点,索引从 0 开始。

localizedValues

object (RouteLocalizedValues)

Route 属性的文本表示形式。

routeToken

string

一个可在网络上安全、采用 base64 编码的路线令牌,可传递给 Navigation SDK,使 Navigation SDK 能够在导航期间重建路线,并且在重新规划路线时,通过调用 v2.computeRoutes 遵循创建路线时的原始意图。客户应将此令牌视为不透明 blob。不要比较它的值 - 即使返回了完全相同的路线,此令牌也可能会更改。注意:Route.route_token 仅适用于将 ComputeRoutesRequest.routing_preference 设置为 TRAFFIC_AWARETRAFFIC_AWARE_OPTIMAL 的请求。包含 Via 航点的请求不支持 Route.route_token

routeTokenUpdateFidelity

enum (RouteTokenUpdateFidelity)

对于包含 routeTokenComputeRouteRequests,此字段用于标识此路线与输入令牌之间的关系。

polylineDetails

object (PolylineDetails)

包含多段线沿线的详情信息。

RouteLabel

Route 的标签,用于标识路线的特定属性,以便与其他属性进行比较。

枚举
ROUTE_LABEL_UNSPECIFIED 默认值 - 未使用。
DEFAULT_ROUTE 为路线计算返回的默认“最佳”路线。
DEFAULT_ROUTE_ALTERNATE 默认“最佳”路由的替代路线。当指定 computeAlternativeRoutes 时,系统将返回此类路线。
FUEL_EFFICIENT 省油路线。标有此值的路线被确定为针对节能参数(例如燃料消耗)进行优化。

RouteLeg

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

JSON 表示法
{
  "distanceMeters": integer,
  "duration": string,
  "staticDuration": string,
  "polyline": {
    object (Polyline)
  },
  "startLocation": {
    object (Location)
  },
  "endLocation": {
    object (Location)
  },
  "steps": [
    {
      object (RouteLegStep)
    }
  ],
  "travelAdvisory": {
    object (RouteLegTravelAdvisory)
  },
  "localizedValues": {
    object (RouteLegLocalizedValues)
  },
  "stepsOverview": {
    object (StepsOverview)
  }
}
字段
distanceMeters

integer

路线路程的行程距离(以米为单位)。

duration

string (Duration format)

导航路程所需的时长。如果 route_preference 设置为 TRAFFIC_UNAWARE,则此值与 staticDuration 相同。如果 route_preferenceTRAFFIC_AWARETRAFFIC_AWARE_OPTIMAL,则系统在计算此值时会考虑到路况信息。

该时长以秒为单位,最多包含九个小数位,以“s”结尾。示例:"3.5s"

staticDuration

string (Duration format)

路程经过的时长,计算时不考虑路况信息。

该时长以秒为单位,最多包含九个小数位,以“s”结尾。示例:"3.5s"

polyline

object (Polyline)

此路程的完整多段线,其中包括每个 step 的多段线。

startLocation

object (Location)

这段路程的起始位置。此位置可能与提供的 origin 不同。例如,如果提供的 origin 不在道路附近,则为道路上的一个点。

endLocation

object (Location)

这段路程的结束位置。此位置可能与提供的 destination 不同。例如,如果提供的 destination 不在道路附近,则为道路上的一个点。

steps[]

object (RouteLegStep)

一组路段,用于表示这段路程中的路段。每个步骤表示一条导航说明。

travelAdvisory

object (RouteLegTravelAdvisory)

包含应告知用户的其他信息,例如路线路程上可能存在的交通区域限制。

localizedValues

object (RouteLegLocalizedValues)

RouteLeg 属性的文本表示形式。

stepsOverview

object (StepsOverview)

有关此RouteLeg中的步骤的概览信息。只有 TRANSIT 路线时填充此字段。

RouteLegStep

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

JSON 表示法
{
  "distanceMeters": integer,
  "staticDuration": string,
  "polyline": {
    object (Polyline)
  },
  "startLocation": {
    object (Location)
  },
  "endLocation": {
    object (Location)
  },
  "navigationInstruction": {
    object (NavigationInstruction)
  },
  "travelAdvisory": {
    object (RouteLegStepTravelAdvisory)
  },
  "localizedValues": {
    object (RouteLegStepLocalizedValues)
  },
  "transitDetails": {
    object (RouteLegStepTransitDetails)
  },
  "travelMode": enum (RouteTravelMode)
}
字段
distanceMeters

integer

此路段的行程距离(以米为单位)。在某些情况下,此字段可能没有值。

staticDuration

string (Duration format)

完成此路段不考虑路况信息的时长。在某些情况下,此字段可能没有值。

该时长以秒为单位,最多包含九个小数位,以“s”结尾。示例:"3.5s"

polyline

object (Polyline)

与此路段关联的多段线。

startLocation

object (Location)

此路段的起始位置。

endLocation

object (Location)

此路段的结束位置。

navigationInstruction

object (NavigationInstruction)

导航说明。

travelAdvisory

object (RouteLegStepTravelAdvisory)

包含应通知用户的其他信息,例如路程路段可能的交通区域限制。

localizedValues

object (RouteLegStepLocalizedValues)

RouteLegStep 属性的文本表示形式。

transitDetails

object (RouteLegStepTransitDetails)

有关此路段(如果出行方式为TRANSIT)的详细信息。

travelMode

enum (RouteTravelMode)

用于此路段的出行方式。

Maneuver

一组值,用于指定要在当前路段中执行的导航操作(例如左转、合并或笔直)。

枚举
MANEUVER_UNSPECIFIED 未使用。
TURN_SLIGHT_LEFT 稍微向左转。
TURN_SHARP_LEFT 向左急转。
UTURN_LEFT 左转调头。
TURN_LEFT 左转。
TURN_SLIGHT_RIGHT 稍微向右转。
TURN_SHARP_RIGHT 向右急转。
UTURN_RIGHT 右转调头。
TURN_RIGHT 右转。
STRAIGHT 直走。
RAMP_LEFT 驶进左侧坡道。
RAMP_RIGHT 朝右侧坡道行驶。
MERGE 并入路况。
FORK_LEFT 在左转弯处。
FORK_RIGHT 在正确的交叉路口。
FERRY 乘轮渡。
FERRY_TRAIN 搭乘前往渡轮的火车。
ROUNDABOUT_LEFT 在环岛处左转。
ROUNDABOUT_RIGHT 在环岛处右转。
DEPART 初始操作。
NAME_CHANGE 用于表示街道名称更改。

RouteLegStepTravelAdvisory

包含应告知用户的其他信息,例如路段路段可能的交通区域限制。

JSON 表示法
{
  "speedReadingIntervals": [
    {
      object (SpeedReadingInterval)
    }
  ]
}
字段
speedReadingIntervals[]

object (SpeedReadingInterval)

注意:此字段当前未填充。

RouteLegStepLocalizedValues

某些属性的文本表示。

JSON 表示法
{
  "distance": {
    object (LocalizedText)
  },
  "staticDuration": {
    object (LocalizedText)
  }
}
字段
distance

object (LocalizedText)

以文本形式表示的行程距离。

staticDuration

object (LocalizedText)

不考虑路况信息的时长,以文本形式表示。

RouteLegStepTransitDetails

TRANSIT 路由相关的 RouteLegStep 的其他信息。

JSON 表示法
{
  "stopDetails": {
    object (TransitStopDetails)
  },
  "localizedValues": {
    object (TransitDetailsLocalizedValues)
  },
  "headsign": string,
  "headway": string,
  "transitLine": {
    object (TransitLine)
  },
  "stopCount": integer,
  "tripShortText": string
}
字段
stopDetails

object (TransitStopDetails)

该路段到达和出发站点的相关信息。

localizedValues

object (TransitDetailsLocalizedValues)

RouteLegStepTransitDetails 属性的文本表示形式。

headsign

string

指定该线路的行进方向,如车辆或出发站所标记。方向通常是终点站。

headway

string (Duration format)

指定目前同一车站各次发车的预计间隔时间。例如,行驶时间秒值为 600 时,如果您错过了一班公交,那么预计需要 10 分钟才能等到下一班。

该时长以秒为单位,最多包含九个小数位,以“s”结尾。示例:"3.5s"

transitLine

object (TransitLine)

此路段中所用公交线路的相关信息。

stopCount

integer

从出发到到达站的经停次数。此计数包含到达站点,但不包括出发站点。例如,如果您的路线从站点 A 出发,途经站点 B 和 C,然后到达站点 D,则 stopCount 将返回 3。

tripShortText

string

显示在时刻表和标牌中的文本,用于向乘客标识公交行程。该文本应唯一标识服务日内的行程。例如,“538”是工作日 15:10 从加利福尼亚州圣何塞出发前往加利福尼亚州萨克拉门托的 Amtrak 列车的 tripShortText

TransitStopDetails

关于RouteLegStep公交站点的详细信息。

JSON 表示法
{
  "arrivalStop": {
    object (TransitStop)
  },
  "arrivalTime": string,
  "departureStop": {
    object (TransitStop)
  },
  "departureTime": string
}
字段
arrivalStop

object (TransitStop)

该路段到达站点的相关信息。

arrivalTime

string (Timestamp format)

该路段预计到达时间。

时间戳采用 RFC3339 世界协调时间(UTC,即“祖鲁时”)格式,精确到纳秒,最多九个小数位。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

departureStop

object (TransitStop)

路段出发站的相关信息。

departureTime

string (Timestamp format)

该路段的预计出发时间。

时间戳采用 RFC3339 世界协调时间(UTC,即“祖鲁时”)格式,精确到纳秒,最多九个小数位。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

TransitStop

公交车站的相关信息。

JSON 表示法
{
  "name": string,
  "location": {
    object (Location)
  }
}
字段
name

string

相应公交站的名称。

location

object (Location)

经停点的位置(以纬度/经度坐标表示)。

TransitDetailsLocalizedValues

RouteTransitDetails 值的本地化说明。

JSON 表示法
{
  "arrivalTime": {
    object (LocalizedTime)
  },
  "departureTime": {
    object (LocalizedTime)
  }
}
字段
arrivalTime

object (LocalizedTime)

时间(采用相应格式的文本表示形式和相应的时区)。

departureTime

object (LocalizedTime)

时间(采用相应格式的文本表示形式和相应的时区)。

LocalizedTime

本地化的时间说明。

JSON 表示法
{
  "time": {
    object (LocalizedText)
  },
  "timeZone": string
}
字段
time

object (LocalizedText)

在给定时区中以字符串形式指定的时间。

timeZone

string

包含时区。该值就是 IANA 时区数据库中定义的时区名称,例如“America/New_York”。

TransitLine

包含此路段中所用公交线路的相关信息。

JSON 表示法
{
  "agencies": [
    {
      object (TransitAgency)
    }
  ],
  "name": string,
  "uri": string,
  "color": string,
  "iconUri": string,
  "nameShort": string,
  "textColor": string,
  "vehicle": {
    object (TransitVehicle)
  }
}
字段
agencies[]

object (TransitAgency)

运营此公交线路的公交公司。

name

string

该公交线路的全名,例如“8 Avenue Local”。

uri

string

公交线路提供的 URI。

color

string

该线路标牌中常用的颜色。以十六进制形式表示。

iconUri

string

与该线路相关联的图标的 URI。

nameShort

string

该公交线路的简称。此名称通常是线路编号,例如“M7”或“355”。

textColor

string

此线路标牌上常用的文本颜色。以十六进制形式表示。

vehicle

object (TransitVehicle)

在该公交线路上运行的车辆类型。

TransitAgency

运营公交线路的公交公司。

JSON 表示法
{
  "name": string,
  "phoneNumber": string,
  "uri": string
}
字段
name

string

此公交公司的名称。

phoneNumber

string

公交公司采用特定语言区域格式的电话号码。

uri

string

公交公司的 URI。

TransitVehicle

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

JSON 表示法
{
  "name": {
    object (LocalizedText)
  },
  "type": enum (TransitVehicleType),
  "iconUri": string,
  "localIconUri": string
}
字段
name

object (LocalizedText)

此车辆的名称(首字母大写)。

type

enum (TransitVehicleType)

所用车辆的类型。

iconUri

string

与此交通工具类型关联的图标的 URI。

localIconUri

string

与此交通工具类型关联的图标的 URI,以当地交通标志为依据。

TransitVehicleType

公交路线的交通工具类型。

枚举
TRANSIT_VEHICLE_TYPE_UNSPECIFIED 未使用。
BUS 公交车。
CABLE_CAR 一种靠电缆运行的交通工具,通常在地面上行驶。空中缆车可以算作 GONDOLA_LIFT 类型。
COMMUTER_TRAIN 通勤铁路。
FERRY 轮渡。
FUNICULAR 一种由缆线拉上陡坡的交通工具。索道缆车通常由两个车体组成,彼此作为对方的平衡重物。
GONDOLA_LIFT 空中缆车
HEAVY_RAIL 重轨。
HIGH_SPEED_TRAIN 高速列车。
INTERCITY_BUS 长途客车。
LONG_DISTANCE_TRAIN 长途列车。
METRO_RAIL 轻轨交通。
MONORAIL 单轨。
OTHER 所有其他车辆。
RAIL 铁路。
SHARE_TAXI 合乘出租车是一种可在其运行路线上随处上下乘客的公共汽车。
SUBWAY 地下轻轨。
TRAM 地上轻轨。
TROLLEYBUS 无轨电车。

RouteLegTravelAdvisory

包含应告知用户的路程路段的其他信息,例如可能的交通区域限制。

JSON 表示法
{
  "tollInfo": {
    object (TollInfo)
  },
  "speedReadingIntervals": [
    {
      object (SpeedReadingInterval)
    }
  ]
}
字段
tollInfo

object (TollInfo)

包含特定RouteLeg的收费站信息。仅当我们预计RouteLeg上会有收费站时,才会填充此字段。如果设置了此字段,但未填充预计价格子字段,我们会认为这条道路包含收费站,但不知道预计价格。如果此字段不存在,那么RouteLeg不会产生任何费用。

speedReadingIntervals[]

object (SpeedReadingInterval)

详细说明交通密度的速度读数间隔。适用于 TRAFFIC_AWARETRAFFIC_AWARE_OPTIMAL 路由偏好设置。间隔覆盖了 RouteLeg 的整个多段线,没有重叠。指定时间间隔的起点与前一个间隔的终点相同。

例如:

polyline: A ---- B ---- C ---- D ---- E ---- F ---- G
speedReadingIntervals: [A,C), [C,D), [D,G).

RouteLegLocalizedValues

某些属性的文本表示。

JSON 表示法
{
  "distance": {
    object (LocalizedText)
  },
  "duration": {
    object (LocalizedText)
  },
  "staticDuration": {
    object (LocalizedText)
  }
}
字段
distance

object (LocalizedText)

以文本形式表示的行程距离。

duration

object (LocalizedText)

以文本形式表示的将路况考虑在内的时长。注意 :如果您未请求路况信息,则此值将与 staticDuration 相同。

staticDuration

object (LocalizedText)

不考虑路况信息的时长,以文本形式表示。

StepsOverview

提供有关 RouteLegStep 列表的概览信息。

JSON 表示法
{
  "multiModalSegments": [
    {
      object (MultiModalSegment)
    }
  ]
}
字段
multiModalSegments[]

object (MultiModalSegment)

总结了有关 RouteLeg.steps 的不同多模态细分的信息。如果步骤中的 RouteLeg 不包含任何多模态细分,则系统不会填充此字段。

MultiModalSegment

提供有关 RouteLeg.steps 的不同多模态细分的摘要信息。多模态线段定义为一个或多个具有相同 RouteTravelMode 的连续 RouteLegStep。如果步骤中的 RouteLeg 不包含任何多模态细分,则系统不会填充此字段。

JSON 表示法
{
  "navigationInstruction": {
    object (NavigationInstruction)
  },
  "travelMode": enum (RouteTravelMode),
  "stepStartIndex": integer,
  "stepEndIndex": integer
}
字段
navigationInstruction

object (NavigationInstruction)

多模态细分的 NavigationInstruction。

travelMode

enum (RouteTravelMode)

多模态细分的出行方式。

stepStartIndex

integer

对应的 RouteLegStep 索引,即多模态线段的开头。

stepEndIndex

integer

对应的 RouteLegStep 索引,即多模态线段的末尾。

视口

经纬度视口,表示为两个对角线相对的 lowhigh 点。视口被视为封闭区域,即包含其边界。纬度边界必须介于 -90 度(含)到 90 度(含)之间,经度边界必须介于 -180 度(含)180 度(含)之间。各种情况包括:

  • 如果 low = high,视口由该单点组成。

  • 如果 low.longitude > high.longitude,则反转经度范围(视口与 180 度经度线相交)。

  • 如果 low.longitude = -180 度,high.longitude = 180 度,视口将包含所有经度。

  • 如果 low.longitude = 180 度,high.longitude = -180 度,则经度范围为空。

  • 如果 low.latitude > high.latitude,则纬度范围为空。

lowhigh 都必须填充,并且表示的框不得为空(如上述定义所指定)。视口为空会导致错误。

例如,以下视口将纽约市完全包围:

{ "low": { "latitude": 40.477398, "longitude": -74.259087 }, "high": { "latitude": 40.91618, "longitude": -73.70018 } }

JSON 表示法
{
  "low": {
    object (LatLng)
  },
  "high": {
    object (LatLng)
  }
}
字段
low

object (LatLng)

必需。视口的低点。

high

object (LatLng)

必需。视口的高点。

RouteLocalizedValues

某些属性的文本表示。

JSON 表示法
{
  "distance": {
    object (LocalizedText)
  },
  "duration": {
    object (LocalizedText)
  },
  "staticDuration": {
    object (LocalizedText)
  },
  "transitFare": {
    object (LocalizedText)
  }
}
字段
distance

object (LocalizedText)

以文本形式表示的行程距离。

duration

object (LocalizedText)

在考虑路况信息的情况下持续的时间,以文本形式表示。注意:如果您未请求路况信息,则此值将与 staticDuration 的值相同。

staticDuration

object (LocalizedText)

不考虑路况信息的时长,以文本形式表示。

transitFare

object (LocalizedText)

以文本形式表示的公交票价。

RouteTokenUpdateFidelity

对于使用 routeTokenBehavior GET_ROUTE_UPDATES 的请求,标识通过关联的路由令牌构造的路由。(与此消息中的 routeToken 无关)。

枚举
ROUTE_TOKEN_UPDATE_FIDELITY_UNSPECIFIED 此路线不是根据路线令牌生成的。
APPROXIMATE 此路线是根据路线标记重建的,在逻辑上是等效的,但路线的几何图形不完全相同。
IDENTICAL 此路线的几何图形与路线令牌完全相同。

PolylineDetails

对应于多段线的给定索引或连续线段的详细信息。假设多段线包含点 P_0、P_1、...、P_N(从零开始的索引),PolylineDetails 会定义间隔和关联的元数据。

JSON 表示法
{
  "altitudeInfo": [
    {
      object (AltitudeInfo)
    }
  ],
  "incidentInfo": [
    {
      object (IncidentInfo)
    }
  ],
  "segmentInfo": [
    {
      object (SegmentInfo)
    }
  ],
  "ferryInfo": [
    {
      object (FerryInfo)
    }
  ],
  "highwayInfo": [
    {
      object (HighwayInfo)
    }
  ],
  "tollInfo": [
    {
      object (TollInfo)
    }
  ],
  "tunnelInfo": [
    {
      object (TunnelInfo)
    }
  ],
  "vignetteInfo": [
    {
      object (VignetteInfo)
    }
  ],
  "hovInfo": [
    {
      object (HovInfo)
    }
  ],
  "restrictionInfo": [
    {
      object (RestrictionInfo)
    }
  ],
  "predictedSpeeds": [
    {
      object (PredictedSpeedInfo)
    }
  ]
}
字段
altitudeInfo[]

object (AltitudeInfo)

沿多段线的海拔高度详情。

incidentInfo[]

object (IncidentInfo)

沿多段线的突发事件详情。

segmentInfo[]

object (SegmentInfo)

沿着多段线分割详情。

ferryInfo[]

object (FerryInfo)

沿多段线的轮渡详情。仅当请求指定了 avoidFerries 路线修饰符且生成的路线未能避开它们时,系统才会填充此字段。否则,不使用此字段。

highwayInfo[]

object (HighwayInfo)

沿多段线的公路详情。仅当请求指定了 avoidHighways 路线修饰符且生成的路线未能避开它们时,系统才会填充此字段。否则,不使用此字段。

tollInfo[]

object (TollInfo)

沿多段线的收费详情。仅当请求指定了 avoidTolls 路线修饰符且生成的路线未能避开它们时,系统才会填充此字段。否则,不使用此字段。

tunnelInfo[]

object (TunnelInfo)

沿多段线的隧道详情。仅当请求指定了 avoidTunnels 路线修饰符且生成的路线未能避开它们时,系统才会填充此字段。否则,不使用此字段。

vignetteInfo[]

object (VignetteInfo)

沿多段线的晕影详情。仅当请求指定了 avoidVignettes 路线修饰符且生成的路线未能避开它们时,系统才会填充此字段。否则,不使用此字段。

hovInfo[]

object (HovInfo)

沿多段线的 Hov 详情。仅当请求指定了 allowHov 路线修饰符且生成的路线包含这些修饰符时,系统才会填充此字段。否则,不使用此字段。

restrictionInfo[]

object (RestrictionInfo)

沿多段线的限制详情。仅当请求指定了 vehicleInfo 路线修饰符且生成的路线包含适用的限制时,系统才会填充此字段。否则,不使用此字段。

predictedSpeeds[]

object (PredictedSpeedInfo)

沿多段线的预测速度分区。

AltitudeInfo

沿着多段线封装有关海拔高度的信息。

JSON 表示法
{
  "polylinePointIndex": {
    object (PolylinePointIndex)
  },
  "altitudeMeters": number
}
字段
polylinePointIndex

object (PolylinePointIndex)

沿多段线的海拔测量地点。

altitudeMeters

number

相对于 WGS-84 椭球体的高度(以米为单位)。

PolylinePointIndex

封装多段线详情的起始索引和结束索引。对于数据对应于单个点的实例,startIndexendIndex 相等。

JSON 表示法
{
  "startIndex": integer,
  "endIndex": integer
}
字段
startIndex

integer

此详情在多段线上的起始索引。

endIndex

integer

此详情在多段线上的结束索引。

IncidentInfo

用于封装沿多段线的事件相关信息。

JSON 表示法
{
  "incidentType": enum (IncidentType),
  "estimatedDelay": string,
  "polylinePointIndex": {
    object (PolylinePointIndex)
  }
}
字段
incidentType

enum (IncidentType)

突发事件的类型。

estimatedDelay

string (Duration format)

相对于正常遍历时间的预计延迟。仅针对 INCIDENT_JAM 返回。

该时长以秒为单位,最多包含九个小数位,以“s”结尾。示例:"3.5s"

polylinePointIndex

object (PolylinePointIndex)

沿多段线的突发事件位置。

IncidentType

突发事件的类型。

枚举
INCIDENT_TYPE_UNSPECIFIED 默认值。此值未使用。
INCIDENT_ROAD_CLOSED 封路。
INCIDENT_CRASH 车祸。
INCIDENT_CONSTRUCTION 施工。
INCIDENT_JAM 交通堵塞。

SegmentInfo

用于封装沿多段线的线段的相关信息。

JSON 表示法
{
  "placeId": string,
  "polylinePointIndex": {
    object (PolylinePointIndex)
  }
}
字段
placeId

string

此路段的地点 ID。

polylinePointIndex

object (PolylinePointIndex)

沿多段线的线段的位置。

FerryInfo

封装多段线沿线的轮渡信息。

JSON 表示法
{
  "ferryPresence": enum (RoadFeatureState),
  "polylinePointIndex": {
    object (PolylinePointIndex)
  }
}
字段
ferryPresence

enum (RoadFeatureState)

仅限输出。表示在多段线的给定段中是否存在轮渡。

polylinePointIndex

object (PolylinePointIndex)

沿多段线的轮渡相关信息的位置。

RoadFeatureState

封装多段线延伸段的道路地图项(例如,高速公路、轮渡等)的状态。

枚举
ROAD_FEATURE_STATE_UNSPECIFIED 未计算该道路地图项的状态(默认值)。
EXISTS 该道路地图项已存在。
DOES_NOT_EXIST 此道路地图项不存在。

HighwayInfo

用于封装沿多段线的公路的相关信息。

JSON 表示法
{
  "highwayPresence": enum (RoadFeatureState),
  "polylinePointIndex": {
    object (PolylinePointIndex)
  }
}
字段
highwayPresence

enum (RoadFeatureState)

仅限输出。表示多段线的给定一段中是否存在公路。

polylinePointIndex

object (PolylinePointIndex)

沿多段线的公路相关信息的位置。

TollInfo

用于封装多段线沿线的收费站信息。

JSON 表示法
{
  "tollPresence": enum (RoadFeatureState),
  "polylinePointIndex": {
    object (PolylinePointIndex)
  }
}
字段
tollPresence

enum (RoadFeatureState)

仅限输出。用于指明多段线的给定拉伸上是否存在收费站。

polylinePointIndex

object (PolylinePointIndex)

沿多段线的收费站相关信息的位置。

TunnelInfo

封装沿多段线的隧道的相关信息。

JSON 表示法
{
  "tunnelPresence": enum (RoadFeatureState),
  "polylinePointIndex": {
    object (PolylinePointIndex)
  }
}
字段
tunnelPresence

enum (RoadFeatureState)

仅限输出。用于指明多段线的给定拉伸上是否存在隧道。

polylinePointIndex

object (PolylinePointIndex)

沿多段线的隧道相关信息的位置。

VignetteInfo

用于封装沿多段线的晕影效果信息。

JSON 表示法
{
  "vignettePresence": enum (RoadFeatureState),
  "polylinePointIndex": {
    object (PolylinePointIndex)
  }
}
字段
vignettePresence

enum (RoadFeatureState)

仅限输出。表示多段线的给定拉伸是否存在晕影。

polylinePointIndex

object (PolylinePointIndex)

沿多段线的晕影相关信息的位置。

HovInfo

用于封装沿多段线的高承载率车辆路段/车道的相关信息。

JSON 表示法
{
  "hovPresence": enum (RoadFeatureState),
  "polylinePointIndex": {
    object (PolylinePointIndex)
  }
}
字段
hovPresence

enum (RoadFeatureState)

仅限输出。用于指明多段线的给定延伸段中是否存在高承载率车辆道/车道。

polylinePointIndex

object (PolylinePointIndex)

沿多段线的高承载率车辆相关信息的位置。

RestrictionInfo

用于封装沿多段线各种限制的信息。

JSON 表示法
{
  "restrictionPresence": enum (RoadFeatureState),
  "polylinePointIndex": {
    object (PolylinePointIndex)
  },

  // Union field restriction can be only one of the following:
  "restrictedHeightMm": string
  // End of list of possible types for union field restriction.
}
字段
restrictionPresence

enum (RoadFeatureState)

仅限输出。用于指明多段线的给定拉伸是否存在限制。

polylinePointIndex

object (PolylinePointIndex)

沿多段线的限制相关信息的位置。

联合字段 restriction。用于封装可应用于多段线指定拉伸的限制类型。restriction 只能是下列其中一项:
restrictedHeightMm

string (int64 format)

高度限制,以毫米为单位。当限制的高度无法通行,或导致指定车辆的净空间较低时,系统就会填充此字段。

PredictedSpeedInfo

封装沿多段线的预测速度信息。

JSON 表示法
{
  "predictedSpeedInterval": {
    object (PredictedSpeedInterval)
  },
  "polylinePointIndex": {
    object (PolylinePointIndex)
  }
}
字段
predictedSpeedInterval

object (PredictedSpeedInterval)

在多段线的这一部分上预测的速度范围。

polylinePointIndex

object (PolylinePointIndex)

沿多段线的预测速度间隔的位置。

PredictedSpeedInterval

灵活的预测速度区间,以 [lowerBoundKphInclusive, upperBoundKphExclusive 为单位表示速度)。返回的区间取决于请求中指定的 extraComputations

JSON 表示法
{
  "lowerBoundKphInclusive": integer,
  "upperBoundKphExclusive": integer
}
字段
lowerBoundKphInclusive

integer

包含性下限。

upperBoundKphExclusive

integer

独占上限。未填充时,表示无穷大。

GeocodingResults

包含出发地、目的地和中间航点的 GeocodedWaypoints。仅为地址航点填充。

JSON 表示法
{
  "origin": {
    object (GeocodedWaypoint)
  },
  "destination": {
    object (GeocodedWaypoint)
  },
  "intermediates": [
    {
      object (GeocodedWaypoint)
    }
  ]
}
字段
origin

object (GeocodedWaypoint)

原点经过地理编码的航点。

destination

object (GeocodedWaypoint)

经过地理编码的目的地航点。

intermediates[]

object (GeocodedWaypoint)

经过地理编码的中间路标列表,其中每个路标包含一个索引字段,该索引字段对应于航点(按照请求中指定的顺序)从零开始的位置。

GeocodedWaypoint

用作航点的位置的详细信息。仅为地址航点填充。包含有关地理编码结果的详情,用于确定地址的地理编码结果。

JSON 表示法
{
  "geocoderStatus": {
    object (Status)
  },
  "type": [
    string
  ],
  "partialMatch": boolean,
  "placeId": string,
  "intermediateWaypointRequestIndex": integer
}
字段
geocoderStatus

object (Status)

表示地理编码操作所产生的状态代码。

type[]

string

结果的类型,采用零个或多个类型标记的形式。支持的类型:地址类型和地址组成部分类型

partialMatch

boolean

表示地理编码器无法返回与原始请求完全匹配的结果,尽管它能够匹配所请求的地址的一部分。您不妨检查一下原始请求中是否有拼写错误和/或地址不完整的情况。

placeId

string

此结果的地点 ID。

intermediateWaypointRequestIndex

integer

请求中相应中间航点的索引。仅当相应航点是中间航点时,才会填充此字段。