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。

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. 如果它无法使用客户请求的路由_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 个。
  • 如果路由_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.optimize_intermediate_waypoint_index 来查找新排序。如果未在 X-Goog-FieldMask 标头中请求 routes.optimize_intermediate_waypoint_index,则请求会失败。如果将 OptimizationWaypointOrder 设置为 false,则 ComputeRoutesResponse.Optimized_intermediate_waypoint_index 将为空。

ComputeRoutesResponse

ComputeRoutes 响应消息。

字段
routes[]

Route

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

fallback_info

FallbackInfo

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

CustomRoute

封装根据客户指定的路线目标计算的自定义路线。CustomRoute 包含一个路线和一个路线令牌,它们可以传递给 NavSDK,以重建适用于精细导航的自定义路线。

字段
route

Route

路线被评为“最佳”用作输入路线目标。

token

string

可在 Web 上安全使用的 base64 编码路线令牌,可传递给 NavSDK,以便 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_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 中间航点的路线有两段路程。包含 1 个 via 中间航点的路线有一段路程。路程顺序与从 originintermediates 再到 destination 的 Waypoint 顺序一致。

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,则此字段包含中间航点的优化顺序。否则,此字段为空。例如,假设输入是 Origin: LA;中级课程:达拉斯、班戈、菲尼克斯;目的地:纽约;而优化的中间航点顺序为:Phoenix、Dallas、Bangor。在这种情况下,此字段会包含值 [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 上有收费站时,才会填充此字段。如果设置了此字段,但未填充 estimate_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 会将通行卡视为未知,并尝试返回现金价格。仅适用于 DRIVE 和 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

封装路线上有关收费站的信息。仅当我们预计该路线上有收费站时,才会填充此字段。如果设置了此字段,但未填充 estimate_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 计算路线时不考虑路况信息。适合在路况不那么紧张时。使用此值可最大限度减少延迟时间。
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 印度尼西亚。多家银行提供的电子卡,用于支付通行费。通过银行发送的所有电子卡都采用相同的计费方式,因此只需要一个枚举值。例如:银行 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。通过航点不会使条目添加到 legs 数组中,但它们确实会让行程经过航点。您只能对中间航点设置此值。如果您在终端航点上设置此字段,请求将失败。如果 ComputeRoutesRequest.optimize_waypoint_order 设置为 true,则此字段不能设为 true;否则,请求将失败。

vehicle_stopover

bool

表示航点供车辆停靠,且目的是上车或下车。设置此值后,计算的路线将不会包含不适合上车点和下车点的道路上的非 via 航点。此选项仅适用于 DRIVETWO_WHEELER 出行方式,且 location_typelocation 时。

side_of_road

bool

表示此航点的位置优先让车辆停靠在道路的某一侧。设置此值后,路线会经过相应位置,这样车辆才能在偏离道路中心的道路一侧停靠。此选项仅适用于“云端硬盘”和“TWO_WHEELER”以及“location_type”已设置为“location”。

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

Location

使用地理坐标指定的点,包含可选标题。

place_id

string

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