Method: computeRoutes

根据一组终点和中间路标返回主路线和可选备选路线。

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

例如,在此方法中:

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

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

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

HTTP 请求

POST https://routes.googleapis.com/directions/v2:computeRoutes

网址采用 gRPC 转码语法。

请求正文

请求正文中包含结构如下的数据:

JSON 表示法
{
  "origin": {
    object (Waypoint)
  },
  "destination": {
    object (Waypoint)
  },
  "intermediates": [
    {
      object (Waypoint)
    }
  ],
  "travelMode": enum (RouteTravelMode),
  "routingPreference": enum (RoutingPreference),
  "polylineQuality": enum (PolylineQuality),
  "polylineEncoding": enum (PolylineEncoding),
  "departureTime": string,
  "arrivalTime": string,
  "computeAlternativeRoutes": boolean,
  "routeModifiers": {
    object (RouteModifiers)
  },
  "languageCode": string,
  "regionCode": string,
  "units": enum (Units),
  "optimizeWaypointOrder": boolean,
  "requestedReferenceRoutes": [
    enum (ReferenceRoute)
  ],
  "extraComputations": [
    enum (ExtraComputation)
  ],
  "trafficModel": enum (TrafficModel),
  "transitPreferences": {
    object (TransitPreferences)
  }
}
字段
origin

object (Waypoint)

必需。出发地航点。

destination

object (Waypoint)

必需。目的地航点。

intermediates[]

object (Waypoint)

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

travelMode

enum (RouteTravelMode)

可选。指定交通方式。

routingPreference

enum (RoutingPreference)

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

polylineQuality

enum (PolylineQuality)

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

polylineEncoding

enum (PolylineEncoding)

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

departureTime

string (Timestamp format)

可选。出发时间。如果未设置此值,则此值默认为您发出请求的时间。注意:当 RouteTravelMode 设置为 TRANSIT 时,您只能过去指定 departureTime。公交行程支持最多过去 7 天或未来 100 天的行程。

采用 RFC3339 世界协调时间 (UTC)(即“祖鲁时”)格式的时间戳,采用纳秒级精度,最多包含九个小数位。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

arrivalTime

string (Timestamp format)

可选。到达时间。注意:只能在 RouteTravelMode 设置为 TRANSIT 时设置。您可以指定 departureTimearrivalTime,但不能同时指定这两者。公交行程支持最多过去 7 天或未来 100 天的行程。

采用 RFC3339 世界协调时间 (UTC)(即“祖鲁时”)格式的时间戳,采用纳秒级精度,最多包含九个小数位。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

computeAlternativeRoutes

boolean

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

routeModifiers

object (RouteModifiers)

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

languageCode

string

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

regionCode

string

可选。地区代码,已指定为 ccTLD(“顶级域名”)双字符值。如需了解详情,请参阅国家/地区代码顶级域名

units

enum (Units)

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

optimizeWaypointOrder

boolean

可选。如果设置为 true,该服务会尝试对指定的中间航点重新排序,从而尽量降低路线的总体成本。如果任何中间航点是 via 航点,请求就会失败。使用 ComputeRoutesResponse.Routes.optimized_intermediate_waypoint_index 查找新排序。如果未在 X-Goog-FieldMask 标头中请求 ComputeRoutesResponseroutes.optimized_intermediate_waypoint_index,请求将失败。如果 optimizeWaypointOrder 设置为 false,ComputeRoutesResponse.optimized_intermediate_waypoint_index 将为空。

requestedReferenceRoutes[]

enum (ReferenceRoute)

可选。指定除了默认路由之外,还要将哪些引用路由作为请求的一部分进行计算。参考路线是指路线计算目标与默认路线不同的路线。例如,FUEL_EFFICIENT 参考路线计算考虑了生成最佳省油路线的各种参数。

extraComputations[]

enum (ExtraComputation)

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

trafficModel

enum (TrafficModel)

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

transitPreferences

object (TransitPreferences)

可选。指定影响为 TRANSIT 路线返回的路线的偏好设置。注意:只有在 RouteTravelMode 设置为 TRANSIT 时,您才能指定 transitPreferences

响应正文

v2.computeRoutes 响应消息。

如果成功,响应正文将包含结构如下的数据:

JSON 表示法
{
  "routes": [
    {
      object (Route)
    }
  ],
  "fallbackInfo": {
    object (FallbackInfo)
  },
  "geocodingResults": {
    object (GeocodingResults)
  }
}
字段
routes[]

object (Route)

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

fallbackInfo

object (FallbackInfo)

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

geocodingResults

object (GeocodingResults)

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

PolylineQuality

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

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

PolylineEncoding

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

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

ReferenceRoute

ComputeRoutesRequest 上受支持的引用路由。

枚举
REFERENCE_ROUTE_UNSPECIFIED 未使用。包含此值的请求将失败。
FUEL_EFFICIENT 省油路线。系统确定带有此值的路线需要针对油耗等参数进行优化。

ExtraComputation

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

枚举
EXTRA_COMPUTATION_UNSPECIFIED 未使用。包含此值的请求将会失败。
TOLLS 这些路线的收费信息。
FUEL_CONSUMPTION 路线的预估耗油量。
TRAFFIC_ON_POLYLINE 路线的路况感知多段线。
HTML_FORMATTED_NAVIGATION_INSTRUCTIONS NavigationInstructions,以设置了格式的 HTML 文本字符串表示。此内容应按原样阅读。此内容仅用于显示。请勿以程序化方式解析。

路由

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

JSON 表示法
{
  "routeLabels": [
    enum (RouteLabel)
  ],
  "legs": [
    {
      object (RouteLeg)
    }
  ],
  "distanceMeters": integer,
  "duration": string,
  "staticDuration": string,
  "polyline": {
    object (Polyline)
  },
  "description": string,
  "warnings": [
    string
  ],
  "viewport": {
    object (Viewport)
  },
  "travelAdvisory": {
    object (RouteTravelAdvisory)
  },
  "optimizedIntermediateWaypointIndex": [
    integer
  ],
  "localizedValues": {
    object (RouteLocalizedValues)
  },
  "routeToken": string
}
字段
routeLabels[]

enum (RouteLabel)

Route 的标签,有助于识别路由的特定属性,以便与其他属性进行比较。

legs[]

object (RouteLeg)

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

distanceMeters

integer

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

duration

string (Duration format)

浏览路线所需的时间长度。如果您将 routingPreference 设置为 TRAFFIC_UNAWARE,则此值与 staticDuration 相同。如果您将 routingPreference 设为 TRAFFIC_AWARETRAFFIC_AWARE_OPTIMAL,则系统在计算此值时会将路况考虑在内。

此时长以秒为单位,最多包含九个小数位,以“s”结尾。示例:"3.5s"

staticDuration

string (Duration format)

在不考虑路况信息的情况下沿路线行驶的时长。

此时长以秒为单位,最多包含九个小数位,以“s”结尾。示例:"3.5s"

polyline

object (Polyline)

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

description

string

路线的说明。

warnings[]

string

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

viewport

object (Viewport)

多段线的视口边界框。

travelAdvisory

object (RouteTravelAdvisory)

有关路线的更多信息。

optimizedIntermediateWaypointIndex[]

integer

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

localizedValues

object (RouteLocalizedValues)

Route 属性的文本表示形式。

routeToken

string

一个可在 Web 上安全使用、采用 base64 编码的路线令牌,可传递给 Navigation SDK,让 Navigation SDK 在导航期间重建路线,并在发生重新路线时遵循您创建路线时的最初意图(通过调用 v2.computeRoutes)。客户应将此令牌视为不透明 blob。不适合读取或更改。注意:Route.route_token 仅适用于将 ComputeRoutesRequest.routing_preference 设置为 TRAFFIC_AWARETRAFFIC_AWARE_OPTIMAL 的请求。包含 Via 航点的请求不支持 Route.route_token

RouteLabel

Route 的标签,有助于识别路由的特定属性,以便与其他属性进行比较。

枚举
ROUTE_LABEL_UNSPECIFIED 默认 - 未使用。
DEFAULT_ROUTE 为路线计算返回的默认“最佳”路线。
DEFAULT_ROUTE_ALTERNATE 默认“最佳”路由的备用路由。指定 computeAlternativeRoutes 后,将返回这样的路由。
FUEL_EFFICIENT 省油路线。系统确定带有此值的路线应针对节能参数(例如油耗)进行优化。

RouteLeg

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

JSON 表示法
{
  "distanceMeters": integer,
  "duration": string,
  "staticDuration": string,
  "polyline": {
    object (Polyline)
  },
  "startLocation": {
    object (Location)
  },
  "endLocation": {
    object (Location)
  },
  "steps": [
    {
      object (RouteLegStep)
    }
  ],
  "travelAdvisory": {
    object (RouteLegTravelAdvisory)
  },
  "localizedValues": {
    object (RouteLegLocalizedValues)
  },
  "stepsOverview": {
    object (StepsOverview)
  }
}
字段
distanceMeters

integer

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

duration

string (Duration format)

浏览腿部所需的时长。如果 route_preference 设置为 TRAFFIC_UNAWARE,则此值与 staticDuration 相同。如果 route_preferenceTRAFFIC_AWARETRAFFIC_AWARE_OPTIMAL,则系统在计算此值时会将路况考虑在内。

此时长以秒为单位,最多包含九个小数位,以“s”结尾。示例:"3.5s"

staticDuration

string (Duration format)

经由路程的行程时长,计算时不考虑路况信息。

此时长以秒为单位,最多包含九个小数位,以“s”结尾。示例:"3.5s"

polyline

object (Polyline)

这段路程的整体多段线,其中包括每个 step 的多段线。

startLocation

object (Location)

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

endLocation

object (Location)

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

steps[]

object (RouteLegStep)

一组路段,用于表示此路程中的路段。每个步骤表示一条导航指令。

travelAdvisory

object (RouteLegTravelAdvisory)

包含用户应了解的其他信息,例如路线路程可能的交通区域限制。

localizedValues

object (RouteLegLocalizedValues)

RouteLeg 属性的文本表示形式。

stepsOverview

object (StepsOverview)

关于此RouteLeg中的步骤的概览信息。系统只会为“公交”路线填充此字段。

Polyline

封装经过编码的多段线。

JSON 表示法
{

  // Union field polyline_type can be only one of the following:
  "encodedPolyline": string,
  "geoJsonLinestring": {
    object
  }
  // End of list of possible types for union field polyline_type.
}
字段
联合字段 polyline_type。封装多段线的类型。默认为 encoded_polyline。polyline_type 只能是下列其中一项:
encodedPolyline

string

使用多段线编码算法的字符串编码

geoJsonLinestring

object (Struct format)

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

RouteLegStep

包含 RouteLeg 的一个片段。一个步骤对应一条导航指令。路线路程由路段组成。

JSON 表示法
{
  "distanceMeters": integer,
  "staticDuration": string,
  "polyline": {
    object (Polyline)
  },
  "startLocation": {
    object (Location)
  },
  "endLocation": {
    object (Location)
  },
  "navigationInstruction": {
    object (NavigationInstruction)
  },
  "travelAdvisory": {
    object (RouteLegStepTravelAdvisory)
  },
  "localizedValues": {
    object (RouteLegStepLocalizedValues)
  },
  "transitDetails": {
    object (RouteLegStepTransitDetails)
  },
  "travelMode": enum (RouteTravelMode)
}
字段
distanceMeters

integer

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

staticDuration

string (Duration format)

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

此时长以秒为单位,最多包含九个小数位,以“s”结尾。示例:"3.5s"

polyline

object (Polyline)

与此步骤相关联的多段线。

startLocation

object (Location)

此步骤的起始位置。

endLocation

object (Location)

此步骤的结束位置。

navigationInstruction

object (NavigationInstruction)

导航说明。

travelAdvisory

object (RouteLegStepTravelAdvisory)

包含用户应了解的其他信息,例如腿部路段可能的交通区域限制。

localizedValues

object (RouteLegStepLocalizedValues)

RouteLegStep 属性的文本表示形式。

transitDetails

object (RouteLegStepTransitDetails)

有关此步骤的详细信息(如果出行方式为 TRANSIT)。

travelMode

enum (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 用于表示街道名称变更。

RouteLegStepTravelAdvisory

包含应通知用户的其他信息,例如腿部路段可能的交通区域限制。

JSON 表示法
{
  "speedReadingIntervals": [
    {
      object (SpeedReadingInterval)
    }
  ]
}
字段
speedReadingIntervals[]

object (SpeedReadingInterval)

注意:此字段当前未填充。

RouteLegStepLocalizedValues

某些属性的文本表示形式。

JSON 表示法
{
  "distance": {
    object (LocalizedText)
  },
  "staticDuration": {
    object (LocalizedText)
  }
}
字段
distance

object (LocalizedText)

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

staticDuration

object (LocalizedText)

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

RouteLegStepTransitDetails

TRANSIT 路由相关的 RouteLegStep 的更多信息。

JSON 表示法
{
  "stopDetails": {
    object (TransitStopDetails)
  },
  "localizedValues": {
    object (TransitDetailsLocalizedValues)
  },
  "headsign": string,
  "headway": string,
  "transitLine": {
    object (TransitLine)
  },
  "stopCount": integer,
  "tripShortText": string
}
字段
stopDetails

object (TransitStopDetails)

相应路段的到达和离开经停点的相关信息。

localizedValues

object (TransitDetailsLocalizedValues)

RouteLegStepTransitDetails 属性的文本表示形式。

headsign

string

根据车辆或出发站上标记的指示,指定该线路的行进方向。方向通常为终点站。

headway

string (Duration format)

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

此时长以秒为单位,最多包含九个小数位,以“s”结尾。示例:"3.5s"

transitLine

object (TransitLine)

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

stopCount

integer

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

tripShortText

string

显示在时间表和标牌中的文本,用于向乘客标识公交行程。文本应唯一地标识服务日内的行程。例如,“538”是指在工作日 15:10 从加利福尼亚州圣何塞出发前往加利福尼亚州萨克拉门托的 Amtrak 火车的 tripShortText

TransitStopDetails

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

JSON 表示法
{
  "arrivalStop": {
    object (TransitStop)
  },
  "arrivalTime": string,
  "departureStop": {
    object (TransitStop)
  },
  "departureTime": string
}
字段
arrivalStop

object (TransitStop)

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

arrivalTime

string (Timestamp format)

相应路段的预计到达时间。

采用 RFC3339 世界协调时间 (UTC)(即“祖鲁时”)格式的时间戳,采用纳秒级精度,最多包含九个小数位。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

departureStop

object (TransitStop)

相应路段的出发车站的相关信息。

departureTime

string (Timestamp format)

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

采用 RFC3339 世界协调时间 (UTC)(即“祖鲁时”)格式的时间戳,采用纳秒级精度,最多包含九个小数位。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

TransitStop

公交车站的相关信息。

JSON 表示法
{
  "name": string,
  "location": {
    object (Location)
  }
}
字段
name

string

公交经停点的名称。

location

object (Location)

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

TransitDetailsLocalizedValues

RouteTransitDetails 值的本地化说明。

JSON 表示法
{
  "arrivalTime": {
    object (LocalizedTime)
  },
  "departureTime": {
    object (LocalizedTime)
  }
}
字段
arrivalTime

object (LocalizedTime)

用相应时区表示的时间(采用相应格式的文本表示)。

departureTime

object (LocalizedTime)

用相应时区表示的时间(采用相应格式的文本表示)。

LocalizedTime

本地化的时间说明。

JSON 表示法
{
  "time": {
    object (LocalizedText)
  },
  "timeZone": string
}
字段
time

object (LocalizedText)

以字符串形式指定的时间(以给定时区为准)。

timeZone

string

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

TransitLine

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

JSON 表示法
{
  "agencies": [
    {
      object (TransitAgency)
    }
  ],
  "name": string,
  "uri": string,
  "color": string,
  "iconUri": string,
  "nameShort": string,
  "textColor": string,
  "vehicle": {
    object (TransitVehicle)
  }
}
字段
agencies[]

object (TransitAgency)

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

name

string

该公交线路的全名,例如“本地 8 大道”。

uri

string

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

color

string

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

iconUri

string

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

nameShort

string

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

textColor

string

该线路站牌上的文字中常用的颜色。以十六进制表示。

vehicle

object (TransitVehicle)

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

TransitAgency

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

JSON 表示法
{
  "name": string,
  "phoneNumber": string,
  "uri": string
}
字段
name

string

此公交公司的名称。

phoneNumber

string

因语言区域而异的公交公司电话号码。

uri

string

公交公司的 URI。

TransitVehicle

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

JSON 表示法
{
  "name": {
    object (LocalizedText)
  },
  "type": enum (TransitVehicleType),
  "iconUri": string,
  "localIconUri": string
}
字段
name

object (LocalizedText)

此车辆的名称,采用首字母大写形式。

type

enum (TransitVehicleType)

所用车辆的类型。

iconUri

string

与此交通工具类型相关联的图标的 URI。

localIconUri

string

与此交通工具类型相关联的图标的 URI(取决于当地交通标志)。

TransitVehicleType

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

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

RouteLegTravelAdvisory

包含用户需要了解的有关腿部步数的更多信息,例如可能的交通区域限制。

JSON 表示法
{
  "tollInfo": {
    object (TollInfo)
  },
  "speedReadingIntervals": [
    {
      object (SpeedReadingInterval)
    }
  ]
}
字段
tollInfo

object (TollInfo)

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

speedReadingIntervals[]

object (SpeedReadingInterval)

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

例如:

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

RouteLegLocalizedValues

某些属性的文本表示形式。

JSON 表示法
{
  "distance": {
    object (LocalizedText)
  },
  "duration": {
    object (LocalizedText)
  },
  "staticDuration": {
    object (LocalizedText)
  }
}
字段
distance

object (LocalizedText)

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

duration

object (LocalizedText)

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

staticDuration

object (LocalizedText)

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

StepsOverview

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

JSON 表示法
{
  "multiModalSegments": [
    {
      object (MultiModalSegment)
    }
  ]
}
字段
multiModalSegments[]

object (MultiModalSegment)

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

MultiModalSegment

提供有关 RouteLeg.steps 的不同多模态片段的摘要信息。多模态片段是指具有相同 RouteTravelMode 的一个或多个连续 RouteLegStep。如果 RouteLeg 在步骤中不包含任何多模态片段,则系统不会填充此字段。

JSON 表示法
{
  "navigationInstruction": {
    object (NavigationInstruction)
  },
  "travelMode": enum (RouteTravelMode),
  "stepStartIndex": integer,
  "stepEndIndex": integer
}
字段
navigationInstruction

object (NavigationInstruction)

多模态细分的 NavigationInstruction。

travelMode

enum (RouteTravelMode)

多模态路段的出行方式。

stepStartIndex

integer

作为多模态细分起点的相应 RouteLegStep 索引。

stepEndIndex

integer

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

视口

经纬度视口,表示为两个对角线的 low 点和 high 点。视口会被视为封闭区域,即包含边界。纬度范围必须在 -90 度(含)到 90 度(含)之间,而经度范围必须在 -180 度(含)到 180 度(含)之间。各种情况包括:

  • 如果 low = high,视口将包含该单一点。

  • 如果 low.longitude > high.longitude,则经度范围反转(视口与 180 度经度线相交)。

  • 如果 low.longitude = -180 度且 high.longitude = 180 度,则视口会包含所有经度。

  • 如果 low.longitude = 180 度且 high.longitude = -180 度,则经度范围为空。

  • 如果 low.latitude > high.latitude,则纬度范围为空。

lowhigh 都必须填充,并且表示的框不能为空(如上述定义所指定)。空视口会导致错误。

例如,以下视口可将纽约市完全包围:

{ "low": { "latitude": 40.477398, "longitude": -74.259087 }, "high": { "latitude": 40.91618, "longitude": -73.70018 } }

JSON 表示法
{
  "low": {
    object (LatLng)
  },
  "high": {
    object (LatLng)
  }
}
字段
low

object (LatLng)

必需。视口的低点。

high

object (LatLng)

必需。视口的高点。

RouteLocalizedValues

某些属性的文本表示形式。

JSON 表示法
{
  "distance": {
    object (LocalizedText)
  },
  "duration": {
    object (LocalizedText)
  },
  "staticDuration": {
    object (LocalizedText)
  },
  "transitFare": {
    object (LocalizedText)
  }
}
字段
distance

object (LocalizedText)

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

duration

object (LocalizedText)

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

staticDuration

object (LocalizedText)

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

transitFare

object (LocalizedText)

以文本形式表示的公交费用。

GeocodingResults

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

JSON 表示法
{
  "origin": {
    object (GeocodedWaypoint)
  },
  "destination": {
    object (GeocodedWaypoint)
  },
  "intermediates": [
    {
      object (GeocodedWaypoint)
    }
  ]
}
字段
origin

object (GeocodedWaypoint)

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

destination

object (GeocodedWaypoint)

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

intermediates[]

object (GeocodedWaypoint)

中间的地理编码路标列表,每个路标都包含一个索引字段,与从零开始的路标位置(按请求中指定的顺序)相对应。

GeocodedWaypoint

有关用作航点的位置的详细信息。仅为地址航点填充。包含有关地理编码结果的详细信息,以便确定将地址进行地理编码。

JSON 表示法
{
  "geocoderStatus": {
    object (Status)
  },
  "type": [
    string
  ],
  "partialMatch": boolean,
  "placeId": string,
  "intermediateWaypointRequestIndex": integer
}
字段
geocoderStatus

object (Status)

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

type[]

string

搜索结果的类型,是零个或零个以上的类型标记。支持的类型:地址类型和地址组成部分类型

partialMatch

boolean

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

placeId

string

此结果的地点 ID。

intermediateWaypointRequestIndex

integer

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