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

可选。指定交通方式。目前仅支持云端硬盘。

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”。如需了解详情,请参阅 http://www.unicode.org/reports/tr35/#Unicode_locale_identifier。如需查看受支持语言的列表,请参阅语言支持。如果您未提供此值,系统会根据路线请求的位置推断显示语言。

units

Units

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

ComputeCustomRoutesResponse

ComputeCustomRoutes 响应消息。

字段
routes[]

CustomRoute

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

fastest_route

CustomRoute

最快的参考路线。

shortest_route

CustomRoute

最短的参考路线。

fallback_info

FallbackInfo

自定义路由的回退信息。

FallbackInfo

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

  1. 如果它无法使用客户请求的 route_preference 来计算路线,则将回退到其他路线模式。在这种情况下,fallback_routing_mode 和 route_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 个。
  • 如果 route_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”。如需了解详情,请参阅 http://www.unicode.org/reports/tr35/#Unicode_locale_identifier。如需查看受支持语言的列表,请参阅语言支持。如果您未提供此值,系统会根据路线请求的位置推断显示语言。

units

Units

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

optimize_waypoint_order

bool

如果 optimizationWaypointOrder 设置为 true,则系统会尝试对指定的中间航点重新排序,以尽可能降低路线的总体费用。如果任何中间航点是通过航点,请求将失败。使用 ComputeRoutesResponse.Routes.Optimized_intermediate_path_index 来找到新顺序。如果 X-Goog-FieldMask 标头中未请求 route.optimize_intermediate_path_index,则请求会失败。如果 OptimizationWaypointOrder 设置为 false,则 ComputeRoutesResponse.Optimized_intermediate_path_index 为空。

ComputeRoutesResponse

ComputeRoute 返回响应消息。

字段
routes[]

Route

当您指定 compute_alternatives_routes 时,它包含计算出的路线的数组(最多三个);如果没有,则只包含一条路线。如果此数组包含多个条目,则第一个条目是推荐路线。如果该数组为空,则表示找不到路线。

fallback_info

FallbackInfo

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

CustomRoute

封装根据客户指定的路线目标计算的自定义路线。CustomRoute 包含一个路线和一个路线令牌,可将其传递到 NavSDK,以重建自定义路线以实现精细导航。

字段
route

Route

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

token

string

可传递给 NavSDK 的网络安全的 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 左转调头。
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 在环岛中右转。
字段
maneuver

Maneuver

封装当前路段的导航说明(例如左转、合并、平直等)。此字段确定要显示的图标。

instructions

string

有关浏览此步骤的说明。

Polyline

封装编码多段线。

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

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_merchant_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

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

例如:

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

RouteLegTravelAdvisory

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

字段
toll_info

TollInfo

用于封装特定 RouteLeg 的收费信息。只有当 RouteLeg 预计有收费站时,系统才会填充此字段。如果已设置此字段但未填充 Estimated_price 子字段,则我们会预计道路包含收费站,但不知道预估价格。如果此字段不存在,则 RouteLeg 没有收费站。

speed_reading_intervals[]

SpeedReadingInterval

详细说明交通密度的速度读取间隔。适用于 TRAFFIC_AWARETRAFFIC_AWARE_OPTIMAL 路由偏好设置。间隔涵盖 RouteLg 的整个多段线,不重叠。指定间隔的起点与前一间隔的终点相同。

例如:

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 不适用时使用。
ROUTE_EXISTS 找到了一条路线,并为元素填写了相应信息。
ROUTE_NOT_FOUND 找不到路线。系统不会在该元素中填写包含路线信息的字段(例如 distance_metersduration)。

RouteMatrixOrigin

ComputeRouteMatrixRequest 的单个来源

字段
waypoint

Waypoint

必需。出发地航点

route_modifiers

RouteModifiers

可选。将此作为出发地的路线的修饰符

RouteModifiers

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

字段
avoid_tolls

bool

指定是否在合理情况下避开收费路段。将优先考虑不含收费公路的路线。仅适用于DRIVETWO_WHEELER出行方式。

avoid_highways

bool

指定是否在合理情况下避开高速公路。将优先考虑不包含高速公路的路线。仅适用于DRIVETWO_WHEELER出行方式。

avoid_ferries

bool

指定是否在合理情况下避开轮渡。将优先考虑不包含轮渡出行的路线。仅适用于DRIVETWO_WHEELER出行方式。

avoid_indoor

bool

指定是否在合理情况下避免在室内导航。将优先考虑不含室内导航的路线。仅适用于WALK出行方式。

vehicle_info

VehicleInfo

指定车辆信息。

toll_passes[]

TollPass

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

RouteObjective

封装 ComputeCustomRoutes 进行优化的目标。

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

搭乘持证出租车出行,此类车辆可在部分区域让车辆在指定出租车道上行驶。

TAXI 模式是一项实验性功能。如果客户在没有出租车车道数据的城市请求出租车路线,则返回“云端硬盘”路线。

RoutingPreference

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

枚举
ROUTING_PREFERENCE_UNSPECIFIED 未指定任何路由偏好设置。默认为 TRAFFIC_AWARE
TRAFFIC_UNAWARE 计算路线时不考虑路况信息。适合在路况不重要时使用。使用该值可以实现最短延迟时间。
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

相应 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 印度、惠普州牌豁免。
MX_TAG_IAVE 墨西哥通行卡。
MX_TAG_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 美国阿拉斯加州。
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 美国堪萨斯州。
US_KS_KTAG 美国堪萨斯州。
US_KS_NATIONALPASS 美国堪萨斯州。
US_KS_PREPASS_ELITEPASS 美国堪萨斯州。
US_LA_GEAUXPASS 美国洛杉矶。
US_LA_TOLL_TAG 美国洛杉矶。
US_MA_EZPASSMA 美国马萨诸塞州。
US_MD_EZPASSMD 美国医学博士。
US_ME_EZPASSME 美国缅因州。
US_MI_AMBASSADOR_BRIDGE_PREMIER_COMMUTER_CARD 美国密歇根州。
US_MI_GROSSE_ILE_TOLL_BRIDGE_PASS_TAG 美国密歇根州。
US_MI_IQ_PROX_CARD 美国密歇根州。
US_MI_MACKINAC_BRIDGE_MAC_PASS 美国密歇根州。
US_MI_NEXPRESS_TOLL 美国密歇根州。
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 美国南卡罗来纳州。
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_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 美国西弗吉尼亚州。

单位

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

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

VehicleEmissionType

一组用于描述车辆排放类型的值。仅适用于“云端硬盘”出行方式。

枚举
VEHICLE_EMISSION_TYPE_UNSPECIFIED 未指定排放类型。默认为 GASOLINE。
GASOLINE 汽油/汽油燃料汽车。
ELECTRIC 电力驱动的交通工具。
HYBRID 混合燃料(例如汽油 + 电动)汽车。

VehicleInfo

封装车辆信息,例如车牌的最后一个字符。

字段
emission_type

VehicleEmissionType

描述车辆的排放类型。仅适用于“云端硬盘”出行方式。

关键点

封装航点。航点会标记路线的起点和终点,并且包括沿途的中间停靠站。

字段
via

bool

将此航点标记为里程碑,而不是停止点。对于请求中的每个非途经航点,响应会向 legs 数组附加一个条目,以提供该行程的经停点的详细信息。如果希望路线途经此航点而不经停,请将此值设为 true。Via 航点不会导致将条目添加到 legs 数组,但它们确实会为行程提供途经航点的路线。您只能对中间航点设置此值。如果您在终端航点上设置此字段,则请求会失败。如果 ComputeRoutesRequest.optimize_merchant_order 设置为 true,则此字段不能设置为 true;否则,请求会失败。

vehicle_stopover

bool

表示航点用于车辆停靠,目的是为了上车或下车。如果您设置了此值,计算的路线将不会包含不适合上车和下车的道路上的非 via 航点。此选项仅适用于 DRIVETWO_WHEELER 出行方式,以及 location_typelocation 的情况。

side_of_road

bool

表示此路标的位置旨在优先让车辆停在道路的某一侧。您设置此值后,路线会经过该位置,这样车辆便可停在该位置偏向于道路中心的一侧。此选项仅适用于“DRIVE”和“TWO_WHEELER”出行方式,以及“location_type”设为“location”时。

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

Location

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

place_id

string

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