Package google.maps.routing.v2

索引

路由

Routes API。

ComputeRouteMatrix

rpc ComputeRouteMatrix(ComputeRouteMatrixRequest) returns (RouteMatrixElement)

接受出发地和目的地列表,并返回包含出发地和目的地组合的路线信息数据流。

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

例如,在此方法中:

  • 所有可用字段的字段掩码(用于手动检查):X-Goog-FieldMask: *
  • 路线持续时间、距离、元素状态、条件和元素索引的字段掩码(生产设置示例):X-Goog-FieldMask: originIndex,destinationIndex,status,condition,distanceMeters,duration

请务必在字段掩码中添加 status,否则所有邮件都将看起来没问题。Google 不建议使用通配符 (*) 响应字段掩码,原因如下:

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

rpc ComputeRoutes(ComputeRoutesRequest) returns (ComputeRoutesResponse)

返回主路线和可选的备选路线(给定一组航点和中间航点)。

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

例如,在此方法中:

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

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

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

ComputeRouteMatrix 请求

ComputeRouteMatrix 请求消息

字段
origins[]

RouteMatrixOrigin

必需。源站数组,用于确定响应矩阵的行。基于出发地和目的地的基数存在以下大小限制:

  • 出发地数量与被指定为 place_idaddress 的目的地数量的总和不得超过 50。
  • 在任何情况下,出发地数量 × 目的地数量的乘积都不能超过 625。
  • 如果 origin_preference 设置为 TRAFFIC_AWARE_OPTIMAL,则出发地数量 × 目的地数量的乘积不得超过 100。
  • 如果旅行模式设置为 TRANSIT,则出发地数量 × 目的地数量的乘积不得超过 100。
destinations[]

RouteMatrixDestination

必需。目的地数组,决定了响应矩阵的列。

travel_mode

RouteTravelMode

可选。指定交通方式。

routing_preference

RoutingPreference

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

departure_time

Timestamp

可选。出发时间。如果您未设置此值,则此值默认为您发出请求的时间。注意:只有在 RouteTravelMode 设置为 TRANSIT 时,您才能指定过去的 departure_time

arrival_time

Timestamp

可选。到达时间。注意:仅当 RouteTravelMode 设置为 TRANSIT 时才能设置。您可以指定 departure_timearrival_time,但不能同时指定二者。

language_code

string

可选。BCP-47 语言代码,例如“en-US”或“sr-Latn”。如需了解详情,请参阅 http://www.unicode.org/reports/tr35/#Unicode_locale_identifier。如需查看支持的语言列表,请参阅语言支持。如果您未提供此值,系统将根据第一个来源的位置推断显示语言。

region_code

string

可选。地区代码,指定为 ccTLD(“顶级域名”)双字符值。有关详情,请访问 https://zh.wikipedia.org/wiki/%E5%97%A0%E7%A0%81%E7%A0%81%E7%A0%81%E7%A0%81

extra_computations[]

ExtraComputation

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

traffic_model

TrafficModel

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

transit_preferences

TransitPreferences

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

额外计算

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

枚举
EXTRA_COMPUTATION_UNSPECIFIED 未使用。包含此值的请求将会失败。
TOLLS 矩阵元素的收费信息。

ComputeRoutesRequest

ComputeRoutes 请求消息。

字段
origin

Waypoint

必需。出发地航点。

destination

Waypoint

必需。目的地航点。

intermediates[]

Waypoint

可选。路线沿途的一组航点(不包括终端点),用于在 经过或经过最多支持 25 个中间航点。

travel_mode

RouteTravelMode

可选。指定交通方式。

routing_preference

RoutingPreference

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

polyline_quality

PolylineQuality

可选。指定多段线质量偏好。

polyline_encoding

PolylineEncoding

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

departure_time

Timestamp

可选。出发时间。如果您未设置此值,则此值默认为您发出请求的时间。注意:只有在 RouteTravelMode 设置为 TRANSIT 时,您才能指定过去的 departure_time

arrival_time

Timestamp

可选。到达时间。注意:仅当 RouteTravelMode 设置为 TRANSIT 时才能设置。您可以指定 departure_timearrival_time,但不能同时指定二者。

compute_alternative_routes

bool

可选。指定是否除了路线之外,还要计算备选路线。系统不会为具有中间航点的请求返回备选路线。

route_modifiers

RouteModifiers

可选。要满足的一组条件会影响路由的计算方式。

language_code

string

可选。BCP-47 语言代码,例如“en-US”或“sr-Latn”。如需了解详情,请参阅 http://www.unicode.org/reports/tr35/#Unicode_locale_identifier。如需查看支持的语言列表,请参阅语言支持。如果您未提供此值,系统将根据路线请求的位置推断显示语言。

region_code

string

可选。地区代码,指定为 ccTLD(“顶级域名”)双字符值。有关详情,请访问 https://zh.wikipedia.org/wiki/%E5%97%A0%E7%A0%81%E7%A0%81%E7%A0%81%E7%A0%81

units

Units

可选。指定显示字段的度量单位。这些字段在 NavigationInstruction 中包含 instruction 字段。路线、路程、路段和持续时间所用的测量单位不受该值的影响。如果您未提供此值,系统将根据第一个来源的位置推断出显示单元。

optimize_waypoint_order

bool

可选。如果设置为 true,则服务会尝试对指定的中间航点进行重新排序,以尽可能降低路线的总体费用。如果任何中间航点是 via 航点,则请求失败。使用 ComputeRoutesResponse.Routes.optimized_intermediate_waypoint_index 查找新排序。如果 X-Goog-FieldMask 标头中未请求 ComputeRoutesResponseroutes.optimized_intermediate_waypoint_index,请求将失败。如果 optimize_waypoint_order 设置为 false,ComputeRoutesResponse.optimized_intermediate_waypoint_index 将为空。

requested_reference_routes[]

ReferenceRoute

可选。指定除了默认路由之外,您还将在请求中计算哪些引用路由。参考路由是与其默认路由不同的路线计算目标的路线。例如,FUEL_EFFICIENT 参考路线的计算会考虑可生成最佳节能路线的各种参数。

extra_computations[]

ExtraComputation

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

traffic_model

TrafficModel

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

transit_preferences

TransitPreferences

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

额外计算

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

枚举
EXTRA_COMPUTATION_UNSPECIFIED 未使用。包含此值的请求将会失败。
TOLLS 路线的收费信息。
FUEL_CONSUMPTION 路线的预计燃料消耗量。
TRAFFIC_ON_POLYLINE 路线的可感知多段线。
HTML_FORMATTED_NAVIGATION_INSTRUCTIONS 导航说明以带格式的 HTML 文本字符串表示。此内容应按原样阅读。此内容仅供显示。请勿以程序化方式对其进行解析。

ReferenceRoute

ComputeRoutesRequest 上支持的参考路由。

枚举
REFERENCE_ROUTE_UNSPECIFIED 未使用。包含此值的请求失败。
FUEL_EFFICIENT 最省油路线。标有此值的路线已确定针对参数(例如燃油消耗)进行了优化。

ComputeRoutesResponse

ComputeRoutes 响应消息。

字段
routes[]

Route

包含一个计算路线数组(最多指定 3 个),在您指定 compute_alternatives_routes 时包含一个;如果未指定,则包含一个路线。当此数组包含多个条目时,第一条是推荐路线。如果数组为空,则表示无法找到路线。

fallback_info

FallbackInfo

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

geocoding_results

GeocodingResults

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

后备信息

与使用后备结果的方式和原因相关的信息。如果已设置此字段,则表示服务器采用了与首选模式不同的路由模式作为后备模式。

字段
routing_mode

FallbackRoutingMode

用于响应的路由模式。如果触发了后备广告,该模式可能与原始客户端请求中设置的路由偏好设置不同。

reason

FallbackReason

使用的是后备响应而不是原始响应的原因。只有在触发回退模式并返回回退响应时,系统才会填充此字段。

后备原因

使用后备响应的原因。

枚举
FALLBACK_REASON_UNSPECIFIED 未指定后备原因。
SERVER_ERROR 使用首选路由模式计算路线时发生服务器错误,但我们能返回通过替代模式计算的结果。
LATENCY_EXCEEDED 我们无法按照您的首选路由模式按时完成计算,但可以返回通过替代模式计算的结果。

回退路由模式

用于返回的后备响应的实际路由模式。

枚举
FALLBACK_ROUTING_MODE_UNSPECIFIED 未使用。
FALLBACK_TRAFFIC_UNAWARE 指示使用 TRAFFIC_UNAWARE google.maps.routing.v2.RoutingPreference 计算响应。
FALLBACK_TRAFFIC_AWARE 指示使用 TRAFFIC_AWARE RoutingPreference 计算响应。

经过地理编码的航点

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

字段
geocoder_status

Status

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

type[]

string

结果的类型,采用零个或多个类型标记的形式。支持的类型:https://developers.google.com/maps/documentation/Geocoding/requests-Geocoding#Types

partial_match

bool

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

place_id

string

此结果的地点 ID。

intermediate_waypoint_request_index

int32

请求中相应中间航点的索引。仅当相应的航点是中间航点时填充。

地理编码结果

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

字段
origin

GeocodedWaypoint

经过地理编码的航点。

destination

GeocodedWaypoint

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

intermediates[]

GeocodedWaypoint

一个经过地理编码的中间航点列表,其中每个航点都有一个索引字段,对应按照航点指定的请求顺序(从零开始)。

本地化时间

时间的本地化说明。

字段
time

LocalizedText

以字符串形式指定的时间。

time_zone

string

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

位置

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

字段
lat_lng

LatLng

航点的地理坐标。

heading

Int32Value

与流量方向相关联的罗盘方向。此值用于指定上车点和下车点的道路方向。方位值可以是 0 到 360,其中 0 表示正北方向,90 指定正东方,以此类推。此字段只能用于 DRIVETWO_WHEELER 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 用于表示街道名称更改。

封装 RouteLegStep 的导航说明

字段
maneuver

Maneuver

封装当前步骤的导航说明(例如,左转、合并、直线等)。此字段用于确定要显示的图标。

instructions

string

浏览此导航的说明。

Polyline

封装编码多段线。

字段
联合字段 polyline_type。封装多段线的类型。默认为 encoded_serif。polyline_type 只能是下列其中一项:
encoded_polyline

string

使用多段线编码算法对多段线进行字符串编码

geo_json_linestring

Struct

使用 GeoJSON LineString 格式指定多段线

多段线编码

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

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

多段线质量

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

枚举
POLYLINE_QUALITY_UNSPECIFIED 未指定多段线质量偏好设置。默认为 OVERVIEW
HIGH_QUALITY 指定高品质多段线,它采用的点数多于 OVERVIEW,但代价是响应会增加。如果需要更高的精确度,请使用此值。
OVERVIEW 指定概览多段线,用少量点组成该多段线。显示路由概览时,请使用此值。与使用 HIGH_QUALITY 选项相比,使用此选项的请求延迟时间更短。

路线

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

字段
route_labels[]

RouteLabel

Route 的标签,可用于识别路线要与其他属性进行比较。

legs[]

RouteLeg

构成路线的一段路程(航点之间的路径段)集合。每段路程均对应于两个非 via Waypoints 之间的行程。例如,没有中间航点的路线只有一段路程。含一个非 via 中间航点的路线有两段路。含一个 via 中间航点的路线有一段路程。路程顺序与从 originintermediatesdestination 的航点顺序一致。

distance_meters

int32

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

duration

Duration

浏览路线所需的时长。如果您将 routing_preference 设置为 TRAFFIC_UNAWARE,则此值与 static_duration 相同。如果您将 routing_preference 设为 TRAFFIC_AWARETRAFFIC_AWARE_OPTIMAL,则系统会在考虑流量条件的情况下计算此值。

static_duration

Duration

路线的行程时长,而不考虑路况。

polyline

Polyline

整体路线多段线。此多段线是所有 legs 的组合多段线。

description

string

路线的说明。

warnings[]

string

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

viewport

Viewport

多段线的视口边界框。

travel_advisory

RouteTravelAdvisory

有关路线的其他信息。

optimized_intermediate_waypoint_index[]

int32

如果您将 optimize_waypoint_order 设为 true,此字段将包含中间航点的优化顺序。否则,此字段为空。例如,如果您提供出发地:LA;中间航点:达拉斯、班戈、菲尼克斯;目的地:纽约;优化的中间航点顺序为菲尼克斯、达拉斯、班戈,则此字段包含值 [2, 0, 1]。对于输入中提供的第一个中间航点,索引从 0 开始。

localized_values

RouteLocalizedValues

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

route_token

string

可传递到 Navigation SDK 的 base-44 编码网络令牌,允许 Navigation SDK 在导航期间重建路线,并在重新规划路线时通过调用 ComputeRoute 遵从路线。客户应将此令牌视为不透明 blob。它不适用于读取或更改。注意:Route.route_token 仅适用于将 ComputeRoutesRequest.routing_preference 设置为 TRAFFIC_AWARETRAFFIC_AWARE_OPTIMAL 的请求。包含航点的请求不支持 Route.route_token

RouteLocalizedValues

特定属性的文本表示形式。

字段
distance

LocalizedText

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

duration

LocalizedText

考虑流量条件的持续时间,以文本形式表示。注意:如果您未请求流量信息,此值将与 static_duration 相同。

static_duration

LocalizedText

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

transit_fare

LocalizedText

公交价格以文本形式表示。

路线标签

Route 的标签,可用于识别路线要与其他属性进行比较。

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

航线

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

字段
distance_meters

int32

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

duration

Duration

浏览腿部所需的时间。如果 route_preference 设为 TRAFFIC_UNAWARE,此值与 static_duration 相同。如果 route_preferenceTRAFFIC_AWARETRAFFIC_AWARE_OPTIMAL,在计算此值时会考虑路况信息。

static_duration

Duration

一段路程的持续时间,计算时不会考虑路况条件。

polyline

Polyline

此路程的整体多段线,包括每个 step 的多段线。

start_location

Location

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

end_location

Location

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

steps[]

RouteLegStep

表示此路程段内的路段的步骤数组。每个步骤代表一项导航指令。

travel_advisory

RouteLegTravelAdvisory

包含应告知路由的其他信息,例如可能的路况限制。

localized_values

RouteLegLocalizedValues

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

steps_overview

StepsOverview

有关此 RouteLeg 中步骤的概览信息。此字段仅适用于 TRANSIT 路由。

RouteLegLocalizedValues

特定属性的文本表示形式。

字段
distance

LocalizedText

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

duration

LocalizedText

考虑流量条件的时长(以文本形式表示)。注意:如果您未请求流量信息,此值将与 static_duration 相同。

static_duration

LocalizedText

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

步骤概览

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

字段
multi_modal_segments[]

MultiModalSegment

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

MultiModalSegment

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

字段
navigation_instruction

NavigationInstruction

多模态细分的 NavigationInstruction。

travel_mode

RouteTravelMode

多模式车段的出行方式。

step_start_index

int32

对应的多模态分段起点所对应的 RouteLegStep 索引。

step_end_index

int32

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

路线步数

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

字段
distance_meters

int32

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

static_duration

Duration

该路段的行程时长,而不考虑路况。在某些情况下,此字段可能没有值。

polyline

Polyline

与此步骤相关的多段线。

start_location

Location

此步骤的起始位置。

end_location

Location

此步骤的结束位置。

navigation_instruction

NavigationInstruction

导航说明。

travel_advisory

RouteLegStepTravelAdvisory

包含应让用户知道的其他信息,例如可能在路段上经过的路况限制。

localized_values

RouteLegStepLocalizedValues

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

transit_details

RouteLegStepTransitDetails

在出行方式为 TRANSIT 的情况下,与此步骤相关的详细信息。

travel_mode

RouteTravelMode

用于此步骤的出行方式。

RouteLegStepLocalizedValues

特定属性的文本表示形式。

字段
distance

LocalizedText

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

static_duration

LocalizedText

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

RouteLegStepTransitDetails

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

字段
stop_details

TransitStopDetails

相应路段的到达和出发站信息。

localized_values

TransitDetailsLocalizedValues

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

headsign

string

指定该线路在车辆或出发站上行驶的方向。前往终点通常是终点站。

headway

Duration

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

transit_line

TransitLine

关于此步骤中使用的公交线路的信息。

stop_count

int32

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

trip_short_text

string

时刻表和登机牌上显示的文字,用于标识乘客的公交行程。文字应在服务期内唯一标识行程。例如,“538”是 Amtrak 列车的 trip_short_text(在工作日的 15:10 从 CA 前往加利福尼亚州 Sacramento)。

公交详细信息本地化值

RouteTransitDetails 值的本地化说明。

字段
arrival_time

LocalizedTime

采用相应文本表示法表示的时间(包含相应的时区)。

departure_time

LocalizedTime

采用相应文本表示法表示的时间(包含相应的时区)。

公交站点详细信息

有关RouteLegStep的公交站的详细信息

字段
arrival_stop

TransitStop

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

arrival_time

Timestamp

该路段预计到达时间。

departure_stop

TransitStop

相应路段的出发站信息。

departure_time

Timestamp

相应路段的预计出发时间。

RouteLegStepTravelAdvisory

包含应通知用户的其他信息,例如路程路段可能受到的流量限制。

字段
speed_reading_intervals[]

SpeedReadingInterval

注意:此字段目前没有填充。

航线旅行咨询

包含应告知用户的路程路段额外信息,如可能的路况限制。

字段
toll_info

TollInfo

包含特定RouteLeg的收费信息。仅当我们预计 RouteLeg 上有收费站时,才会填充此字段。如果已设置此字段,但未填充估算价格子字段,则预计道路会避开收费站,但不知道估算价格。如果此字段不存在,则 RouteLeg 没有收费。

speed_reading_intervals[]

SpeedReadingInterval

详细介绍流量密度的速度读取间隔。适用于 TRAFFIC_AWARETRAFFIC_AWARE_OPTIMAL 路由偏好设置。这些间隔涵盖 RouteLeg 的整个多段线,且没有重叠。指定间隔的起点与前一个时间段的端点相同。

例如:

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

RouteMatrixDestination

ComputeRouteMatrixRequest 的单个目的地

字段
waypoint

Waypoint

必需。目的地航点

RouteMatrixElement

包含为 ComputeRouteMatrix API 中的出发地/目的地对计算出的路线信息。此 proto 可流式传输到客户端。

字段
status

Status

此元素的错误状态代码。

condition

RouteMatrixElementCondition

指明是否找到了该路线。与状态无关。

distance_meters

int32

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

duration

Duration

浏览路线所需的时长。如果您将 routing_preference 设置为 TRAFFIC_UNAWARE,则此值与 static_duration 相同。如果您将 routing_preference 设为 TRAFFIC_AWARETRAFFIC_AWARE_OPTIMAL,则系统会在考虑流量条件的情况下计算此值。

static_duration

Duration

穿越路线所需的行程时长,而不考虑路况。

travel_advisory

RouteTravelAdvisory

有关路线的其他信息。例如:限制信息和收费信息

fallback_info

FallbackInfo

在某些情况下,当服务器无法为此指定出发地/目的地对计算指定路线时,可能会回退到使用其他计算模式。使用回退模式时,此字段包含有关回退响应的详细信息。否则,此字段将未设置。

localized_values

LocalizedValues

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

origin_index

int32

请求中来源的零索引。

destination_index

int32

请求中目标的索引(从零开始)。

本地化的值

特定属性的文本表示形式。

字段
distance

LocalizedText

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

duration

LocalizedText

以文字形式表示的时长,考虑了路况信息。注意:如果未请求路况信息,此值与 static_duration 的值相同。

static_duration

LocalizedText

以文本形式表示的时长,而不考虑路况条件。

transit_fare

LocalizedText

公交价格以文本形式表示。

RouteMatrixElementCondition

要返回的路由的条件。

枚举
ROUTE_MATRIX_ELEMENT_CONDITION_UNSPECIFIED 仅在元素的 status 不合适时使用。
ROUTE_EXISTS 找到了一条路线,并且为元素填写了相应信息。
ROUTE_NOT_FOUND 找不到任何路线。系统不会在元素中填写包含路线信息的字段(例如 distance_metersduration)。

RouteMatrixOrigin

ComputeRouteMatrixRequest 的单个来源

字段
waypoint

Waypoint

必需。出发地航点

route_modifiers

RouteModifiers

可选。以此为起点的每个路由的修饰符

RouteModifier

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

字段
avoid_tolls

bool

设置为 true 时,应尽量避开收费路段,优先考虑不包含收费路段的路线。仅适用于 DRIVETWO_WHEELER RouteTravelMode

avoid_highways

bool

如果设置为 true,则会在合理范围内避开高速公路,优先考虑不包含高速公路的路线。仅适用于 DRIVETWO_WHEELER RouteTravelMode

avoid_ferries

bool

如果设置为 true,则会在合理的情况下避开轮渡,并优先考虑不包含轮渡的路线。仅适用于 DRIVETWO_WHEELER RouteTravelMode

avoid_indoor

bool

设置为 true 时,应尽量避免在室内导航,同时优先考虑不包含室内导航的路线。仅适用于 WALK RouteTravelMode

vehicle_info

VehicleInfo

指定车辆信息。

toll_passes[]

TollPass

封装收费通行卡的相关信息。如果提供通行卡,该 API 会尝试返回卡券价格。如果未提供通行卡,API 会将通行卡视为未知,并尝试返回现金价格。仅适用于 DRIVETWO_WHEELER RouteTravelMode

RouteTravelAdvisory

包含应通知用户的其他信息,例如可能的流量限制。

字段
toll_info

TollInfo

包含路线沿途通行费的相关信息。仅当路线上需要收费时,此字段才会填充。如果已设置此字段,但未填充估算价格子字段,则路线包含收费站,但估算价格未知。如果未设置此字段,则路线上不会有任何收费站。

speed_reading_intervals[]

SpeedReadingInterval

详细介绍流量密度的速度读取间隔。适用于 TRAFFIC_AWARETRAFFIC_AWARE_OPTIMAL 路由偏好设置。这些间隔涵盖路线的整个多段线,且不会重叠。指定间隔的起点与前一个时间段的端点相同。

例如:

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

int64

预计的燃料消耗量(以微升为单位)。

route_restrictions_partially_ignored

bool

返回的路线可能存在不适合请求的出行方式或路线修饰符的限制。

transit_fare

Money

包含此路线的总交通费用或票价(若有),系统只会为 TRANSIT 次请求返回此票价,且仅适用于所有公交路段都可使用票价信息的路线。

路线旅行模式

用于指定出行方式的一组值。注意:WALKBICYCLETWO_WHEELER 路线尚处于 Beta 版阶段,有时可能会缺少明确的人行道、人行道或自行车道。您必须针对应用中显示的所有步行、骑车和双轮路线向用户显示此警告。

枚举
TRAVEL_MODE_UNSPECIFIED 未指定出行方式。默认为 DRIVE
DRIVE 乘载客旅行。
BICYCLE 骑自行车旅行。
WALK 步行旅行。
TWO_WHEELER 双轮机动车。例如摩托车。请注意,这与涵盖人力模式的 BICYCLE 出行方式不同。
TRANSIT 搭乘公共交通工具出行(如有)。

转送偏好设置

一组值,用于指定计算路线时需要考虑的因素。

枚举
ROUTING_PREFERENCE_UNSPECIFIED 未指定转送偏好设置。默认为 TRAFFIC_UNAWARE
TRAFFIC_UNAWARE 计算时不考虑实时路况信息。适用于路况不重要或不适用的情况。使用此值可产生最低的延迟时间。注意:对于RouteTravelModeDRIVETWO_WHEELER的选择取决于道路网和与时间无关的平均路况信息。受道路网变化、平均路况信息更新以及服务的分布式性质的影响,给定请求的结果可能会随时间的推移而发生变化。此外,在时间或频率不受限制的情况下,几乎相等的路线之间的结果也可能有所差异。
TRAFFIC_AWARE 计算时考虑到实时路况信息的路线。与 TRAFFIC_AWARE_OPTIMAL 相比,系统会应用一些优化以显著缩短延迟时间。
TRAFFIC_AWARE_OPTIMAL 计算路线时会考虑实时路况信息,而不应用大多数性能优化。使用此值可产生最高的延迟时间。

速度读取间隔

多段线或路径的连续路段上的流量密度指示器。在给定了点 P_0、P_1、... 、 P_N(基于零的索引)的路径的情况下,SpeedReadingInterval 使用以下类别定义间隔并描述其流量。

字段
start_polyline_point_index

int32

多段线上此间隔的起始索引。

end_polyline_point_index

int32

多段线上此间隔的结束索引。

联合字段 speed_type

speed_type 只能是下列其中一项:

speed

Speed

此时间间隔内的车速。

速度

基于路况数据的多段线速度的分类。

枚举
SPEED_UNSPECIFIED 默认值。此值未使用。
NORMAL 速度正常,未检测到减速。
SLOW 检测到行驶缓慢路段,但未形成交通拥堵。
TRAFFIC_JAM 检测到交通拥堵。

收费信息

封装 RouteRouteLeg 上的收费信息。

字段
estimated_price[]

Money

相应 RouteRouteLeg 的收费金额。此列表包含预计按收费站收费的每种货币金额。通常,对于包含采用收费币种的收费路线,此列表仅包含一个项目。对于国际旅行,此列表可能会包含多个项目,以反映使用不同币种的收费项目。

通行卡

我们支持的世界各地的通行卡列表。

枚举
TOLL_PASS_UNSPECIFIED 未使用。如果使用此值,则请求失败。
AU_ETOLL_TAG 悉尼通行卡。如需了解更多详情,请访问 https://www.myetoll.com.au
AU_EWAY_TAG 悉尼通行卡。如需了解更多详情,请访问 https://www.tollpay.com.au
AU_LINKT 澳大利亚通行卡通行证。如需了解更多详情,请访问 https://www.linkt.com.au/
AR_TELEPASE 阿根廷收费通行证。如需了解详情,请访问 https://telepase.com.ar
BR_AUTO_EXPRESO 巴西通行卡。如需了解更多详情,请访问 https://www.autoexpreso.com
BR_CONECTCAR 巴西通行卡。如需了解详情,请访问 https://conectcar.com
BR_MOVE_MAIS 巴西通行卡。如需了解更多详情,请访问 https://movemais.com
BR_PASSA_RAPIDO 巴西通行卡。如需了解详情,请访问 https://pasorapido.gob.do/
BR_SEM_PARAR 巴西通行卡。如需了解更多详情,请访问 https://www.semparar.com.br
BR_TAGGY 巴西通行卡。如需了解更多详情,请访问 https://taggy.com.br
BR_VELOE 巴西通行卡。如需了解更多详情,请访问 https://veloe.com.br/site/onde-usar
CA_US_AKWASASNE_SEAWAY_CORPORATE_CARD 加拿大到美国的过境处。
CA_US_AKWASASNE_SEAWAY_TRANSIT_CARD 加拿大到美国的过境处。
CA_US_BLUE_WATER_EDGE_PASS 加拿大安大略省与美国密歇根州过境。
CA_US_CONNEXION 加拿大安大略省与美国密歇根州过境。
CA_US_NEXUS_CARD 加拿大到美国的过境处。
ID_E_TOLL 印度尼西亚。由多个银行提供的电子卡,用于支付通行费。所有通过银行发行的电子卡均采用相同的收费方式,因此只需要一个枚举值。例如 - Bank Mandiri https://www.bankmandiri.co.id/e-money - BCA https://www.bca.co.id/flazz - BNI https://www.bni.co.id/id-id/ebanking/tapcash
IN_FASTAG India.
IN_LOCAL_HP_PLATE_EXEMPT 印度,惠普州级车辆豁免。
MX_IAVE 墨西哥通行卡。https://iave.capufe.gob.mx/#/
MX_PASE 墨西哥 https://www.pase.com.mx
MX_QUICKPASS 墨西哥 https://operadoravial.com/quick-pass/
MX_SISTEMA_TELEPEAJE_CHIHUAHUA http://appsh.chihuahua.gob.mx/transparencia/?doc=/ingresos/TelepeajeFormato4.pdf
MX_TAG_IAVE 墨西哥
MX_TAG_TELEVIA 墨西哥通行卡公司。墨西哥城的众多运营机构之一。如需了解更多详情,请访问 https://www.televia.com.mx
MX_TELEVIA 墨西哥通行卡公司。在墨西哥城运营的众多企业之一。https://www.televia.com.mx
MX_VIAPASS 墨西哥通行卡。如需了解更多详情,请访问 https://www.viapass.com.mx/viapass/web_home.aspx
US_AL_FREEDOM_PASS AL,美国。
US_AK_ANTON_ANDERSON_TUNNEL_BOOK_OF_10_TICKETS 美国阿拉斯加州。
US_CA_FASTRAK 加拿大。
US_CA_FASTRAK_CAV_STICKER 表示除了 DMV 发放的清洁空气车辆 (CAV) 贴纸外,司机还有任意 FasTrak 通行证。https://www.bayareafastrak.org/en/guide/doINeedFlex.shtml
US_CO_EXPRESSTOLL 哥伦比亚。
US_CO_GO_PASS 哥伦比亚。
US_DE_EZPASSDE 德国。
US_FL_BOB_SIKES_TOLL_BRIDGE_PASS 美国佛罗里达州。
US_FL_DUNES_COMMUNITY_DEVELOPMENT_DISTRICT_EXPRESSCARD 美国佛罗里达州。
US_FL_EPASS 美国佛罗里达州。
US_FL_GIBA_TOLL_PASS 美国佛罗里达州。
US_FL_LEEWAY 美国佛罗里达州。
US_FL_SUNPASS 美国佛罗里达州。
US_FL_SUNPASS_PRO 美国佛罗里达州。
US_IL_EZPASSIL 美国伊利诺伊州。
US_IL_IPASS 美国伊利诺伊州。
US_IN_EZPASSIN 印度。
US_KS_BESTPASS_HORIZON KS, USA。
US_KS_KTAG KS, USA。
US_KS_NATIONALPASS KS, USA。
US_KS_PREPASS_ELITEPASS KS, USA。
US_LA_GEAUXPASS 洛杉矶。
US_LA_TOLL_TAG 洛杉矶。
US_MA_EZPASSMA MA,美国。
US_MD_EZPASSMD MD。
US_ME_EZPASSME ME。
US_MI_AMBASSADOR_BRIDGE_PREMIER_COMMUTER_CARD 密歇根州,美国。
US_MI_BCPASS 密歇根州,美国。
US_MI_GROSSE_ILE_TOLL_BRIDGE_PASS_TAG 密歇根州,美国。
US_MI_IQ_PROX_CARD

密歇根州,美国。已弃用,因为此卡券类型已不存在。

US_MI_IQ_TAG 密歇根州,美国。
US_MI_MACKINAC_BRIDGE_MAC_PASS 密歇根州,美国。
US_MI_NEXPRESS_TOLL 密歇根州,美国。
US_MN_EZPASSMN MN,美国。
US_NC_EZPASSNC NC,美国。
US_NC_PEACH_PASS NC,美国。
US_NC_QUICK_PASS NC,美国。
US_NH_EZPASSNH 美国国家医疗服务体系。
US_NJ_DOWNBEACH_EXPRESS_PASS 美国新泽西州。
US_NJ_EZPASSNJ 美国新泽西州。
US_NY_EXPRESSPASS 美国纽约州
US_NY_EZPASSNY 美国纽约州
US_OH_EZPASSOH 美国俄亥俄州。
US_PA_EZPASSPA PA, USA。
US_RI_EZPASSRI RI,美国。
US_SC_PALPASS SC、USA。
US_TX_AVI_TAG 美国德克萨斯州。
US_TX_BANCPASS 美国德克萨斯州。
US_TX_DEL_RIO_PASS 美国德克萨斯州。
US_TX_EFAST_PASS 美国德克萨斯州。
US_TX_EAGLE_PASS_EXPRESS_CARD 美国德克萨斯州。
US_TX_EPTOLL 美国德克萨斯州。
US_TX_EZ_CROSS 美国德克萨斯州。
US_TX_EZTAG 美国德克萨斯州。
US_TX_FUEGO_TAG 美国德克萨斯州。
US_TX_LAREDO_TRADE_TAG 美国德克萨斯州。
US_TX_PLUSPASS 美国德克萨斯州。
US_TX_TOLLTAG 美国德克萨斯州。
US_TX_TXTAG 美国德克萨斯州。
US_TX_XPRESS_CARD 美国德克萨斯州。
US_UT_ADAMS_AVE_PARKWAY_EXPRESSCARD 美国犹他州。
US_VA_EZPASSVA 美国弗吉尼亚州。
US_WA_BREEZEBY 美国华盛顿州
US_WA_GOOD_TO_GO 美国华盛顿州
US_WV_EZPASSWV 美国西弗吉尼亚州。
US_WV_MEMORIAL_BRIDGE_TICKETS 美国西弗吉尼亚州。
US_WV_NEWELL_TOLL_BRIDGE_TICKET 美国西弗吉尼亚州。

流量模型

指定计算交通时间时要使用的假设条件。此设置会影响响应中 duration 字段中返回的值,该值包含根据历史平均值预测的交通时间。

枚举
TRAFFIC_MODEL_UNSPECIFIED 未使用。如果指定,则默认为 BEST_GUESS
BEST_GUESS 表示返回的 duration 应该是最准确的出行时间估算值(根据已知的历史路况信息和实时路况信息得出)。departure_time 越接近当前时间,实时路况信息就越重要。
PESSIMISTIC 表示返回的大多数时间应该长于实际行程时间,但偶尔路况特别糟糕的时候,实际行程时间可能会超过该值。
OPTIMISTIC 表示在大多数日子里,返回的持续时间应短于实际行程时间,但偶尔路况特别理想的时候,实际行程时间可能会短于该值。

公交公司

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

字段
name

string

此公交公司的名称。

phone_number

string

公交公司的语言区域专用电话号码。

uri

string

公交公司的 URI。

公交线路

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

字段
agencies[]

TransitAgency

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

name

string

此公交线路的全名,例如“长安路 8 号”。

uri

string

由公交公司提供的该公交线路的 URI。

color

string

此线路站牌常用的颜色。以十六进制表示。

icon_uri

string

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

name_short

string

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

text_color

string

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

vehicle

TransitVehicle

此公交线路运营的交通工具类型。

公交偏好

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

字段
allowed_travel_modes[]

TransitTravelMode

获取 TRANSIT 路线时使用的一组出行方式。默认为所有支持的出行方式。

routing_preference

TransitRoutingPreference

路由偏好设置,指定时会影响返回的 TRANSIT 路由。

TransitRoutePreference

指定公交路线的转送偏好设置。

枚举
TRANSIT_ROUTING_PREFERENCE_UNSPECIFIED 未指定偏好设置。
LESS_WALKING 表示计算出的路线应首选步行距离较短的路线。
FEWER_TRANSFERS 表示计算出的路线应首选换乘次数有限的路线。

公交出行方式

用于指定交通方式的一组值。

枚举
TRANSIT_TRAVEL_MODE_UNSPECIFIED 未指定公交出行方式。
BUS 乘公交车。
SUBWAY 地铁出行。
TRAIN 乘坐火车。
LIGHT_RAIL 乘坐轻轨或电车。
RAIL 乘火车出行。这相当于 SUBWAYTRAINLIGHT_RAIL 的组合。

公交站

公交站的相关信息。

字段
name

string

公交站的名称。

location

Location

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

公交车

公交路线中所用车辆的相关信息。

字段
name

LocalizedText

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

type

TransitVehicleType

所用交通工具的类型。

icon_uri

string

与此车辆类型相关联的图标的 URI。

local_icon_uri

string

根据当地交通标识牌,与该交通工具类型相关联的图标的 URI。

公交类型

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

枚举
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 无轨电车。

单位

一组值,用于指定显示屏中使用的度量单位。

枚举
UNITS_UNSPECIFIED 未指定度量单位。默认为根据请求推断出的计量单位。
METRIC 度量单位。
IMPERIAL 英制度量单位(英制)。

车辆排放类型

描述车辆排放类型的一组值。仅适用于 DRIVE RouteTravelMode

枚举
VEHICLE_EMISSION_TYPE_UNSPECIFIED 未指定排放类型。默认为 GASOLINE
GASOLINE 汽油车。
ELECTRIC 电动汽车。
HYBRID 混合燃料(例如汽油 + 电动)车辆。
DIESEL 柴油车。

车辆信息

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

字段
emission_type

VehicleEmissionType

描述车辆的排放类型。仅适用于 DRIVE RouteTravelMode

关键点

封装航点。航点标记了路线的起点和终点,包括沿途的中间站点。

字段
via

bool

将此航点标记为里程碑,而不是终点。对于请求中的每个非航点,响应会在 legs 数组中附加相应条目,以提供相应行程中途停留点的详细信息。如果您希望路线途经这些航点,但并不停下来,请将此值设为 true。通过航点不会使条目添加到 legs 数组中,但它们会经过航点。您只能为中间航点设置此值。如果您在终端航点上设置此字段,则请求会失败。如果 ComputeRoutesRequest.optimize_waypoint_order 设为 true,此字段便无法设为 true;否则,请求会失败。

vehicle_stopover

bool

表示航点是供车辆停靠的,其意图为上车或下车。设置此值时,计算得出的路线将不会在不适合上车和下车的道路上包含非 via 航点。此选项仅适用于 DRIVETWO_WHEELER 出行方式,以及 location_typeLocation 的情况。

side_of_road

bool

表示此航点的位置倾向于将车辆停在道路的特定一侧。设置此值后,路线会经过该位置,如果车辆的位置偏离道路中心,车辆便可在路边停止。此选项仅适用于“DRIVE”和“TWO_WHEELER”RouteTravelMode

联合字段 location_type。表示营业地点的不同方式。location_type 只能是下列其中一项:
location

Location

使用地理坐标指定的点,包括可选方向角。

place_id

string

与航点关联的地图注点地点 ID。

address

string

直观易懂的地址或 Plus Code。如需了解详情,请参阅 https://plus.codes