Package google.maps.routes.v1

索引

RoutesPreferred

Routes Preferred API。

ComputeCustomRoutes

rpc ComputeCustomRoutes(ComputeCustomRoutesRequest) returns (ComputeCustomRoutesResponse)

给定一组终点和中间航点以及路线目标,计算路线目标的最佳路线。还会返回最快路线和最短路线作为参考路线。

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

例如,在此方法中:

  • 所有可用字段的字段掩码(适用于人工检查):X-Goog-FieldMask: *
  • 路线距离、时长、令牌和过路费信息的字段掩码:X-Goog-FieldMask: routes.route.distanceMeters,routes.route.duration,routes.token,routes.route.travelAdvisory.tollInfo

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

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

需要以下 OAuth 范围:

  • https://www.googleapis.com/auth/maps-platform.routespreferred

如需了解详情,请参阅 OAuth 2.0 概览

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 不建议使用通配符 (*) 响应字段掩码,因为:

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

需要以下 OAuth 范围:

  • https://www.googleapis.com/auth/maps-platform.routespreferred

如需了解详情,请参阅 OAuth 2.0 概览

ComputeRoutes

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) 指定字段掩码,因为:

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

需要以下 OAuth 范围:

  • https://www.googleapis.com/auth/maps-platform.routespreferred

如需了解详情,请参阅 OAuth 2.0 概览

ComputeCustomRoutesRequest

ComputeCustomRoutes 请求消息。

字段
origin

Waypoint

必需。出发地航点。

destination

Waypoint

必需。目的地航点。

intermediates[]

Waypoint

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

travel_mode

RouteTravelMode

可选。指定交通方式。仅支持 DRIVE 和“TWO_WHEELER”。

routing_preference

RoutingPreference

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

polyline_quality

PolylineQuality

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

polyline_encoding

PolylineEncoding

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

departure_time

Timestamp

可选。出发时间。如果您未设置此值,则此值默认为您发出请求的时间。如果您将此值设置为已过的时间,则请求会失败。

route_modifiers

RouteModifiers

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

route_objective

RouteObjective

必需。要优化的路线目标。

language_code

string

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

units

Units

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

ComputeCustomRoutesResponse

ComputeCustomRoutes 响应消息。

字段
routes[]

CustomRoute

输入路线目标的“最佳”路线。

fastest_route

CustomRoute

最快的参考路线。

shortest_route

CustomRoute

最短的参考路线。

fallback_info

FallbackInfo

自定义路由的回退信息。

FallbackInfo

封装 ComputeCustomRoutes 的回退信息。ComputeCustomRoutes 会执行两种类型的回退:

  1. 如果它无法使用客户请求的 routing_preference 计算路线,则会回退到其他路由模式。在这种情况下,fallback_routing_moderouting_mode_fallback_reason 用于传达所使用的后备路由模式以及后备的原因。

  2. 如果它无法为客户指定的路线目标计算出“最佳”路线,则可能会回退到其他目标。fallback_route_objective 用于传达后备路由目标。

字段
routing_mode

FallbackRoutingMode

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

routing_mode_reason

FallbackReason

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

route_objective

FallbackRouteObjective

用于响应的路线目标。如果触发了回退,目标可能与原始客户端请求中提供的路线目标不同。

FallbackRouteObjective

用于响应的 RouteObjective。

枚举
FALLBACK_ROUTE_OBJECTIVE_UNSPECIFIED 未指定回退路线目标。
FALLBACK_RATECARD_WITHOUT_TOLL_PRICE_DATA 如果客户请求 RateCard 并将 include_tolls 设置为 true,但 Google 没有相应路线的过路费价格数据,则 API 会回退到 RateCard,而不会考虑过路费价格。

ComputeRouteMatrixRequest

ComputeRouteMatrix 请求消息

字段
origins[]

RouteMatrixOrigin

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

  • 在任何情况下,元素(出发地 × 目的地)的数量都不得超过 625 个。
  • 如果 routing_preference 设置为 TRAFFIC_AWARE_OPTIMAL,元素数量(起点 × 终点)不得超过 100。
  • 指定为 place_id 的路点(起点 + 终点)的数量不得超过 50 个。
destinations[]

RouteMatrixDestination

必需。目的地数组,用于确定响应矩阵的列。

travel_mode

RouteTravelMode

可选。指定交通方式。

routing_preference

RoutingPreference

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

departure_time

Timestamp

可选。出发时间。如果您未设置此值,则默认为您发出请求的时间。如果将此值设置为已经发生的时间,则请求将失败。

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

可选。出发时间。如果您未设置此值,则此值默认为您发出请求的时间。如果您将此值设置为已过的时间,则请求会失败。

compute_alternative_routes

bool

可选。指定是否应计算路线以外的备选路线。对于包含中间航点的请求,系统不会返回备选路线。

route_modifiers

RouteModifiers

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

language_code

string

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

units

Units

可选。指定显示字段的衡量单位。这包括 NavigationInstruction 中的 instruction 字段。路线、路段、步数距离和时长所用的衡量单位不受此值的影响。如果您未提供此值,系统会根据请求的位置推断显示单位。

optimize_waypoint_order

bool

如果将 optimizeWaypointOrder 设置为 true,系统会尝试重新排列指定的中间航点,以最大限度地降低路线的总体费用。如果任何中间航点为途经航点,请求将失败。使用 ComputeRoutesResponse.Routes.optimized_intermediate_waypoint_index 查找新的排序。如果未在 X-Goog-FieldMask 标头中请求 routes.optimized_intermediate_waypoint_index,则请求会失败。如果 optimize_waypoint_order 设为 false,ComputeRoutesResponse.optimized_intermediate_waypoint_index 为空。

ComputeRoutesResponse

计算响应消息的路线。

字段
routes[]

Route

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

fallback_info

FallbackInfo

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

CustomRoute

封装根据客户指定的路线目标计算的自定义路线。CustomRoute 包含路线和路线令牌,可传递给 NavSDK 以重构自定义路线以进行精细导航。

字段
route

Route

对于输入路线目标而言被视为“最佳”的路线。

token

string

可传递给 NavSDK 的可在 Web 环境中安全使用的 base64 编码路线令牌,使 NavSDK 能够在导航期间重构路线,并在重新路线时遵循调用 RoutesPreferred ComputeCustomRoutes 时的原始意图。客户应将此令牌视为不透明 blob。

FallbackInfo

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

字段
routing_mode

FallbackRoutingMode

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

reason

FallbackReason

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

FallbackReason

使用回退响应的原因。

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

FallbackRoutingMode

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

枚举
FALLBACK_ROUTING_MODE_UNSPECIFIED 未使用。
FALLBACK_TRAFFIC_UNAWARE 表示使用了 TRAFFIC_UNAWARE 路由模式来计算响应。
FALLBACK_TRAFFIC_AWARE 表示使用了 TRAFFIC_AWARE 路由模式来计算响应。

位置

封装位置(地理点和可选的标题)。

字段
lat_lng

LatLng

航点的地理坐标。

heading

Int32Value

与交通流方向相关联的罗盘方向。此值用于指定上车点和下车点所在的道路边。航向值介于 0 到 360 之间,其中 0 表示正北,90 表示正东,依此类推。此字段仅适用于 DRIVETWO_WHEELER 出行方式。

Maneuver

一组值,用于指定要对当前步骤执行的导航操作(例如,向左转弯、合并或直行)。

枚举
MANEUVER_UNSPECIFIED 未使用。
TURN_SLIGHT_LEFT 稍微向左转。
TURN_SHARP_LEFT 向左急转。
UTURN_LEFT 左转 U 形调头。
TURN_LEFT 向左转。
TURN_SLIGHT_RIGHT 稍微向右转。
TURN_SHARP_RIGHT 向右急转。
UTURN_RIGHT 右转 U 形调头。
TURN_RIGHT 右转。
STRAIGHT 直走。
RAMP_LEFT 走左侧坡道。
RAMP_RIGHT 走右侧的坡道。
MERGE 并入路况。
FORK_LEFT 向左转。
FORK_RIGHT 向右转弯。
FERRY 乘坐渡轮。
FERRY_TRAIN 乘坐火车前往轮渡码头。
ROUNDABOUT_LEFT 在圆形交叉路口左转。
ROUNDABOUT_RIGHT 在圆形交叉路口右转。
DEPART 初始机动。
NAME_CHANGE 用于指示街道名称变更。
字段
maneuver

Maneuver

封装当前步骤的导航说明(例如,向左转弯、合并或直行)。此字段决定了要显示哪个图标。

instructions

string

此步骤的导航说明。

折线

封装编码多段线。

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

string

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

geo_json_linestring

Struct

使用 GeoJSON LineString 格式指定多段线。

PolylineEncoding

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

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

PolylineQuality

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

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

路线

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

字段
legs[]

RouteLeg

构成路线的一系列路段(航点之间的路径片段)。每段路程都对应于两个非 via 航点之间的行程。例如,没有中间航点的路线只有一个航段。包含一个非 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

如果 ComputeRoutesRequest.optimize_waypoint_order 设置为 true,则此字段包含中间航点的优化顺序。否则,此字段为空。例如,假设输入为:起点:洛杉矶;中继点:达拉斯、班戈、菲尼克斯;目的地:纽约;经过优化的中继点顺序为:菲尼克斯、达拉斯、班戈。那么此字段将包含值 [2, 0, 1]。对于第一个中间航点,索引从 0 开始。

RouteLeg

封装非 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

用于封装应告知用户的其他信息,例如路线路程上的可能的交通区域限制等。

RouteLegStep

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

字段
distance_meters

int32

此步骤的移动距离(以米为单位)。在某些情况下,此字段可能没有值。

static_duration

Duration

不考虑交通状况的情况下,完成此步骤所需的时间。在某些情况下,此字段可能没有值。

polyline

Polyline

与此步骤关联的多段线。

start_location

Location

此步骤的起始位置。

end_location

Location

此路段的结束位置。

navigation_instruction

NavigationInstruction

导航说明。

travel_advisory

RouteLegStepTravelAdvisory

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

RouteLegStepTravelAdvisory

封装应告知用户的其他信息,例如相应路段步骤可能存在的交通区域限制。

字段
speed_reading_intervals[]

SpeedReadingInterval

注意:此字段目前未填充任何内容。

RouteLegTravelAdvisory

封装应告知用户的其他信息,例如路线分段可能存在的交通区域限制等。

字段
toll_info

TollInfo

封装特定 RouteLeg 上的过路费信息。仅当我们预计RouteLeg上会有收费站时,才会填充此字段。如果已设置此字段,但未填充 estimated_price 子字段,则表示相应道路包含过路费,但我们不知道估算价格。如果此字段不存在,则 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 可以流式传输到客户端。

字段
origin_index

int32

请求中来源的索引(从零开始)。

destination_index

int32

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

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

在某些情况下,如果服务器无法根据这个特定起点/终点对的给定偏好来计算路线,则可能会回退到使用其他计算模式。使用回退模式时,此字段包含有关回退响应的详细信息。否则,此字段将未设置。

RouteMatrixElementCondition

返回的路线的状态。

枚举
ROUTE_MATRIX_ELEMENT_CONDITION_UNSPECIFIED 仅在元素的 status 不 OK 时使用。
ROUTE_EXISTS 找到了路线,并为相应元素填写了相应信息。
ROUTE_NOT_FOUND 找不到路线。元素中不会填充包含路线信息的字段,例如 distance_metersduration

RouteMatrixOrigin

ComputeRouteMatrixRequest 的单个来源

字段
waypoint

Waypoint

必需。起点航点

route_modifiers

RouteModifiers

可选。将此地点作为起点的每条路线的修饰符

RouteModifiers

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

字段
avoid_tolls

bool

如果设置为 true,则会在合理的情况下避开收费道路,优先选择不含收费道路的路线。仅适用于 DRIVETWO_WHEELER 出行方式。

avoid_highways

bool

如果设置为 true,则会在合理的情况下避开高速公路,优先选择不含高速公路的路线。仅适用于 DRIVETWO_WHEELER 出行方式。

avoid_ferries

bool

如果设置为 true,则会在合理的情况下避开轮渡,优先选择不含轮渡的路线。仅适用于 DRIVETWO_WHEELER 出行方式。

avoid_indoor

bool

设置为 true 时,在合理的范围内避免在室内导航,优先考虑不包含室内导航的路线。仅适用于 WALK 行程模式。

vehicle_info

VehicleInfo

指定车辆信息。

toll_passes[]

TollPass

封装有关过路卡的信息。如果提供了过路卡,API 会尝试返回过路卡价格。如果未提供过路费卡,API 会将过路费卡视为未知,并尝试返回现金价格。仅适用于 DRIVETWO_WHEELER 出行方式。

RouteObjective

封装要按 ComputeCustomRoutes 进行优化的目标。

字段
联合字段 objective。路线目标。objective 只能是下列其中一项:
rate_card

RateCard

费率卡目标。

RateCard

封装 RateCard 路线目标。

字段
cost_per_minute

MonetaryCost

可选。每分钟费用。

cost_per_km

MonetaryCost

可选。每公里费用。

include_tolls

bool

可选。是否将过路费包含在总费用中。

MonetaryCost

封装价目表中使用的费用。

字段
value

double

必需。从请求中推断出的以本地货币表示的费用值。

RouteTravelAdvisory

封装应告知用户的其他信息,例如可能的交通区域限制等。

字段
toll_info

TollInfo

封装路线上有关收费站的信息。只有当我们预计相应路线上有收费路段时,才会填充此字段。如果已设置此字段,但未填充 estimated_price 子字段,则表示相应道路包含过路费,但我们不知道估算价格。如果未设置此字段,则表示相应路线无需收费。

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).

RouteTravelMode

一组用于指定出行方式的值。

枚举
TRAVEL_MODE_UNSPECIFIED 未指定出行方式。默认为 DRIVE
DRIVE 乘坐客车。
BICYCLE 骑自行车。
WALK 步行。
TWO_WHEELER 双轮机动车。例如,摩托车。请注意,这与涵盖人力驱动模式的 BICYCLE 出行方式不同。
TAXI

乘坐持证出租车,在某些地区,此类车辆可以驶入指定的出租车道。

出租车模式是一项实验性功能。如果客户在没有出租车车道数据的城市请求出租车路线,系统会返回驾车路线。

RoutingPreference

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

枚举
ROUTING_PREFERENCE_UNSPECIFIED 未指定路由偏好设置。默认为 TRAFFIC_AWARE
TRAFFIC_UNAWARE 计算路线时不考虑实时路况信息。当交通状况不重要或不适用时,此值适用。使用此值可产生最短的延迟时间。注意:对于 RouteTravelMode DRIVE 和 TWO_WHEELER,系统会根据道路网和与时间无关的平均路况信息而非当前路况信息来选择路线和时长。因此,路线可能包括暂时关闭的道路。受道路网变化、平均路况信息更新以及服务的分布式性质的影响,给定请求的结果可能会随时间的推移而发生变化。此外,在时间或频率不受限制的情况下,即使两条路线几乎相同,结果还是有可能不同。
TRAFFIC_AWARE 计算路线时会考虑路况信息。与 TRAFFIC_AWARE_OPTIMAL 相比,它会应用一些优化来显著缩短延迟时间。
TRAFFIC_AWARE_OPTIMAL 计算路线时会考虑交通状况,但不会应用大多数性能优化。使用此值会产生最长的延迟时间。

SpeedReadingInterval

多段线或路径的连续路段上的交通密度指示器。给定包含点 P_0、P_1、...、P_N(从零开始编号)的路径,SpeedReadingInterval 会定义一个时间间隔,并使用以下类别描述其流量。

字段
start_polyline_point_index

int32

此时间段在多段线中的起始索引。在 JSON 中,当编号为 0 时,该字段似乎未填充。

end_polyline_point_index

int32

多段线中此时间段的结束索引。在 JSON 中,当编号为 0 时,该字段似乎未填充。

speed

Speed

此时间间隔内的交通速度。

速度

根据交通数据对多段线速度进行的分类。

枚举
SPEED_UNSPECIFIED 默认值。此值未使用。
NORMAL 正常速度,未检测到任何减速。
SLOW 检测到车速缓慢,但未形成交通堵塞。
TRAFFIC_JAM 检测到交通堵塞。

TollInfo

封装 RouteRouteLeg 上的过路费信息。

字段
estimated_price[]

Money

相应 RouteRouteLeg 的过路费金额(货币金额)。此列表包含收费站预计将要收取的每种货币的金额。通常,此列表仅包含一个项,其中包含使用一种货币的过路费路线。对于国际行程,此列表可能包含多个项,以反映不同币种的过路费。

TollPass

我们支持的全球过路卡列表。

枚举
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 印度,豁免了 HP 州车牌。
JP_ETC 日本 ETC。收取过路费的电子无线系统。https://www.go-etc.jp/
JP_ETC2 日本 ETC2.0。新版 ETC 可享受更多折扣,并支持车载设备与道路上的天线之间进行双向通信。https://www.go-etc.jp/etc2/index.html
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 美国亚拉巴马州。
US_AK_ANTON_ANDERSON_TUNNEL_BOOK_OF_10_TICKETS AK, USA.
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 DE, USA.
US_FL_BOB_SIKES_TOLL_BRIDGE_PASS FL, USA.
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 IL, USA.
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, USA。
US_MD_EZPASSMD 美国马里兰州。
US_ME_EZPASSME 美国缅因州。
US_MI_AMBASSADOR_BRIDGE_PREMIER_COMMUTER_CARD 美国密歇根州。
US_MI_BCPASS MI, USA.
US_MI_GROSSE_ILE_TOLL_BRIDGE_PASS_TAG MI, USA.
US_MI_IQ_PROX_CARD

MI, USA. 已弃用,因为此卡券类型已不存在。

US_MI_IQ_TAG MI, USA.
US_MI_MACKINAC_BRIDGE_MAC_PASS MI, USA.
US_MI_NEXPRESS_TOLL MI, USA.
US_MN_EZPASSMN 美国明尼苏达州。
US_NC_EZPASSNC 美国北卡罗来纳州。
US_NC_PEACH_PASS 美国北卡罗来纳州。
US_NC_QUICK_PASS 美国北卡罗来纳州。
US_NH_EZPASSNH 美国新罕布什尔州。
US_NJ_DOWNBEACH_EXPRESS_PASS 美国新泽西州。
US_NJ_EZPASSNJ 美国新泽西州。
US_NY_EXPRESSPASS 美国纽约州。
US_NY_EZPASSNY 美国纽约州。
US_OH_EZPASSOH 美国俄亥俄州。
US_PA_EZPASSPA 美国宾夕法尼亚州。
US_RI_EZPASSRI 美国罗得岛州。
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 WV, USA.
US_WV_MEMORIAL_BRIDGE_TICKETS WV, USA.
US_WV_MOV_PASS WV, USA
US_WV_NEWELL_TOLL_BRIDGE_TICKET WV, USA.

单位

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

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

VehicleEmissionType

一组用于描述车辆排放类型的值。仅适用于“驾车”行驶模式。

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

VehicleInfo

封装车辆信息,例如车辆排放类型。

字段
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

表示此航点的位置旨在让车辆优先停靠在道路的特定侧。设置此值后,路线会经过相应位置,以便车辆在偏离道路中心的道路一侧停靠。此选项仅适用于“驾车”和“TWO_WHEELER”行程模式。

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

Location

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

place_id

string

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