Package google.maps.routes.v1

索引

RoutesPreferred

Routes Preferred API。

ComputeCustomRoutes

rpc ComputeCustomRoutes(ComputeCustomRoutesRequest) returns (ComputeCustomRoutesResponse)

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

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

例如,在此方法中:

  • 所有可用字段的字段掩码(用于手动检查):X-Goog-FieldMask: *
  • 路线距离、时长、token 和通行费信息的字段掩码: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)

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

注意:此方法要求您在输入中指定响应字段掩码。您可以使用网址参数 $fields 或 fields,也可以使用 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)

返回主要路线以及可选的备选路线,前提是提供了一组终点和中间航点。

注意:此方法要求您在输入中指定响应字段掩码。您可以使用网址参数 $fields 或 fields 提供响应字段掩码,也可以使用 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_mode 为 DRIVE 或 TWO_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_mode 和 routing_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_mode 为 DRIVE 或 TWO_WHEELER 时,您才能指定此选项,否则请求会失败。

departure_time

Timestamp

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

ComputeRoutesRequest

ComputeRoutes 请求消息。

字段
origin

Waypoint

必需。出发地航点。

destination

Waypoint

必需。目的地航点。

intermediates[]

Waypoint

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

travel_mode

RouteTravelMode

可选。指定交通方式。

routing_preference

RoutingPreference

可选。指定如何计算路线。服务器会尝试使用所选的路由偏好设置来计算路线。如果路由偏好设置导致错误或延迟时间过长,则返回错误。只有当 travel_mode 为 DRIVE 或 TWO_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

ComputeRoutes 的响应消息。

字段
routes[]

Route

如果您指定了 compute_alternatives_routes,则包含一个计算出的路线数组(最多 3 条);如果您未指定,则仅包含一条路线。当此数组包含多个条目时,第一个条目是推荐程度最高的路线。如果数组为空,则表示找不到任何路线。

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 表示正东首向,依此类推。您只能将此字段用于 DRIVE 和 TWO_WHEELER 出行模式。

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 用于表示街道名称变更。
DESTINATION 用于指示到达目的地。
字段
maneuver

Maneuver

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

instructions

string

有关如何完成此步骤的说明。

折线

封装编码多段线。

字段
联合字段 polyline_type。封装多段线的类型。默认值为 encoded_polyline。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 中间航点的路线有一段路程。路段的顺序与从 origin 到 intermediates 再到 destination 的途经点的顺序一致。

distance_meters

int32

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

duration

Duration

导航路线所需的时间长度。如果您将 routing_preference 设置为 TRAFFIC_UNAWARE,则此值与 static_duration 相同。如果您将 routing_preference 设置为 TRAFFIC_AWARE 或 TRAFFIC_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_preference 为 TRAFFIC_AWARE 或 TRAFFIC_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_AWARE 和 TRAFFIC_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_AWARE 或 TRAFFIC_AWARE_OPTIMAL,则系统会考虑路况信息来计算此值。

static_duration

Duration

在不考虑路况信息的情况下,沿路线行驶所需的时间。

travel_advisory

RouteTravelAdvisory

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

fallback_info

FallbackInfo

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

RouteMatrixElementCondition

返回的路线的状况。

枚举
ROUTE_MATRIX_ELEMENT_CONDITION_UNSPECIFIED 仅在元素的 status 不正常时使用。
ROUTE_EXISTS 系统找到了路线,并为相应元素填写了相应信息。
ROUTE_NOT_FOUND 找不到任何路线。包含路线信息的字段(例如 distance_meters 或 duration)将不会在元素中填写。

RouteMatrixOrigin

ComputeRouteMatrixRequest 的单个起点

字段
waypoint

Waypoint

必需。出发地航点

route_modifiers

RouteModifiers

可选。以相应路线为起点的所有路线的修饰符

RouteModifiers

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

字段
avoid_tolls

bool

如果设置为 true,则尽可能避开收费路段,优先选择不包含收费路段的路线。仅适用于 DRIVE 和 TWO_WHEELER 这两种出行方式。

avoid_highways

bool

如果设置为 true,则尽可能避开高速公路,优先选择不包含高速公路的路线。仅适用于 DRIVE 和 TWO_WHEELER 这两种出行方式。

avoid_ferries

bool

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

avoid_indoor

bool

如果设置为 true,则尽可能避免室内导航,优先选择不包含室内导航的路线。仅适用于 WALK 出行模式。

vehicle_info

VehicleInfo

指定车辆信息。

toll_passes[]

TollPass

封装有关通行卡的信息。如果提供了通行卡,API 会尝试返回通行卡价格。如果未提供通行卡,API 会将通行卡视为未知,并尝试返回现金价格。仅适用于 DRIVE 和 TWO_WHEELER 这两种出行方式。

RouteObjective

封装了 ComputeCustomRoutes 要优化的目标。

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

RateCard

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_AWARE 和 TRAFFIC_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

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

字段
estimated_price[]

Money

相应 Route 或 RouteLeg 的通行费金额。此列表包含收费站预计收取的每种币种的金额。通常,此列表仅包含一种币种的含过路费路线。对于国际行程,此列表可能包含多个项目,以反映不同币种的过路费。

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 AL, USA.
US_AK_ANTON_ANDERSON_TUNNEL_BOOK_OF_10_TICKETS AK,美国。
US_CA_FASTRAK CA, USA.
US_CA_FASTRAK_CAV_STICKER 表示司机除了 DMV 签发的清洁空气车辆 (CAV) 贴纸外,还拥有任何 FasTrak 通行卡。https://www.bayareafastrak.org/en/guide/doINeedFlex.shtml
US_CO_EXPRESSTOLL CO, USA.
US_CO_GO_PASS CO, USA.
US_DE_EZPASSDE DE, USA.
US_FL_BOB_SIKES_TOLL_BRIDGE_PASS FL, USA.
US_FL_DUNES_COMMUNITY_DEVELOPMENT_DISTRICT_EXPRESSCARD FL, USA.
US_FL_EPASS FL, USA.
US_FL_GIBA_TOLL_PASS FL, USA.
US_FL_LEEWAY FL, USA.
US_FL_SUNPASS FL, USA.
US_FL_SUNPASS_PRO FL, USA.
US_IL_EZPASSIL IL,美国。
US_IL_IPASS IL,美国。
US_IN_EZPASSIN IN, USA.
US_KS_BESTPASS_HORIZON KS,美国。
US_KS_KTAG KS,美国。
US_KS_NATIONALPASS KS,美国。
US_KS_PREPASS_ELITEPASS KS,美国。
US_LA_GEAUXPASS LA, USA.
US_LA_TOLL_TAG LA, USA.
US_MA_EZPASSMA MA, USA.
US_MD_EZPASSMD MD,美国。
US_ME_EZPASSME ME,美国。
US_MI_AMBASSADOR_BRIDGE_PREMIER_COMMUTER_CARD MI,美国。
US_MI_BCPASS MI,美国。
US_MI_GROSSE_ILE_TOLL_BRIDGE_PASS_TAG MI,美国。
US_MI_IQ_PROX_CARD

MI, USA. 已弃用,因为此通行证类型已不存在。

US_MI_IQ_TAG MI,美国。
US_MI_MACKINAC_BRIDGE_MAC_PASS MI,美国。
US_MI_NEXPRESS_TOLL MI,美国。
US_MN_EZPASSMN MN, USA.
US_NC_EZPASSNC NC, USA.
US_NC_PEACH_PASS NC, USA.
US_NC_QUICK_PASS NC, USA.
US_NH_EZPASSNH NH, USA.
US_NJ_DOWNBEACH_EXPRESS_PASS NJ, USA.
US_NJ_EZPASSNJ NJ, USA.
US_NY_EXPRESSPASS NY, USA.
US_NY_EZPASSNY NY, USA.
US_OH_EZPASSOH OH, USA.
US_PA_EZPASSPA 宾夕法尼亚州,美国。
US_RI_EZPASSRI RI,美国。
US_SC_PALPASS SC, USA.
US_TX_AVI_TAG TX, USA.
US_TX_BANCPASS TX, USA.
US_TX_DEL_RIO_PASS TX, USA.
US_TX_EFAST_PASS TX, USA.
US_TX_EAGLE_PASS_EXPRESS_CARD TX, USA.
US_TX_EPTOLL TX, USA.
US_TX_EZ_CROSS TX, USA.
US_TX_EZTAG TX, USA.
US_TX_FUEGO_TAG TX, USA.
US_TX_LAREDO_TRADE_TAG TX, USA.
US_TX_PLUSPASS TX, USA.
US_TX_TOLLTAG TX, USA.
US_TX_TXTAG TX, USA.
US_TX_XPRESS_CARD TX, USA.
US_UT_ADAMS_AVE_PARKWAY_EXPRESSCARD UT,美国。
US_VA_EZPASSVA VA, USA.
US_WA_BREEZEBY WA, USA.
US_WA_GOOD_TO_GO WA, USA.
US_WV_EZPASSWV WV,美国。
US_WV_MEMORIAL_BRIDGE_TICKETS WV,美国。
US_WV_MOV_PASS 美国西弗吉尼亚州
US_WV_NEWELL_TOLL_BRIDGE_TICKET WV,美国。

单位

一组用于指定显示屏上所用度量单位的值。

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

VehicleEmissionType

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

枚举
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 途经点。此选项仅适用于 DRIVE 和 TWO_WHEELER 出行模式,且 location_type 为 location。

side_of_road

bool

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

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

Location

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

place_id

string

与途经点关联的 POI 地点 ID。