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

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

arrivalTime

string (Timestamp format)

可选。到达时间。注意:仅当 RouteTravelMode 设置为 TRANSIT 时才能设置。您可以指定 departureTimearrivalTime,但不能同时指定二者。

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

regionCode

string

可选。地区代码,指定为 ccTLD(“顶级域名”)双字符值。有关详情,请访问 https://zh.wikipedia.org/wiki/%E5%97%A0%E7%A0%81%E7%A0%81%E7%A0%81%E7%A0%81

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)

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

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)

包含一个计算路线数组(最多指定 3 个),在您指定 compute_alternatives_routes 时包含一个;如果未指定,则包含一个路线。当此数组包含多个条目时,第一条是推荐路线。如果数组为空,则表示无法找到路线。

fallbackInfo

object (FallbackInfo)

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

geocodingResults

object (GeocodingResults)

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

多段线质量

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

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

多段线编码

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

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

单位

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

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

ReferenceRoute

ComputeRoutesRequest 上支持的参考路由。

枚举
REFERENCE_ROUTE_UNSPECIFIED 未使用。包含此值的请求失败。
FUEL_EFFICIENT 最省油路线。标有此值的路线已确定针对参数(例如燃油消耗)进行了优化。

额外计算

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

枚举
EXTRA_COMPUTATION_UNSPECIFIED 未使用。包含此值的请求将会失败。
TOLLS 路线的收费信息。
FUEL_CONSUMPTION 路线的预计燃料消耗量。
TRAFFIC_ON_POLYLINE 路线的可感知多段线。
HTML_FORMATTED_NAVIGATION_INSTRUCTIONS 导航说明以带格式的 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 中间航点的路线有一段路程。路程顺序与从 originintermediatesdestination 的航点顺序一致。

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,此字段将包含中间航点的优化顺序。否则,此字段为空。例如,如果您提供出发地:LA;中间航点:达拉斯、班戈、菲尼克斯;目的地:纽约;优化的中间航点顺序为菲尼克斯、达拉斯、班戈,则此字段包含值 [2, 0, 1]。对于输入中提供的第一个中间航点,索引从 0 开始。

localizedValues

object (RouteLocalizedValues)

Route 的属性的文本表示形式。

routeToken

string

可传递到 Navigation SDK 的 base-44 编码网络令牌,允许 Navigation SDK 在导航期间重建路线,并在重新规划路线时调用 v2.computeRoutes,以遵循您最初创建路线时的意图。客户应将此令牌视为不透明 blob。它不适用于读取或更改。注意:Route.route_token 仅适用于将 ComputeRoutesRequest.routing_preference 设置为 TRAFFIC_AWARETRAFFIC_AWARE_OPTIMAL 的请求。包含航点的请求不支持 Route.route_token

路线标签

Route 的标签,可用于识别路线要与其他属性进行比较。

枚举
ROUTE_LABEL_UNSPECIFIED 默认 - 未使用。
DEFAULT_ROUTE 路由计算返回的默认“最佳”路由。
DEFAULT_ROUTE_ALTERNATE 默认“最佳”路线的替代方案。指定 computeAlternativeRoutes 后,系统将返回此类路由。
FUEL_EFFICIENT 最省油路线。标有此值的路线已确定针对节能参数(如燃油消耗)进行了优化。

航线

包含非 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 中步骤的概览信息。此字段仅适用于 TRANSIT 路由。

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_serif。polyline_type 只能是下列其中一项:
encodedPolyline

string

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

geoJsonLinestring

object (Struct format)

使用 GeoJSON LineString 格式指定多段线

路线步数

包含 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”是 Amtrak 列车的 tripShortText(在工作日的 15:10 从 CA 前往加利福尼亚州 Sacramento)。

公交站点详细信息

有关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"

公交站

公交站的相关信息。

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

string

公交站的名称。

location

object (Location)

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

公交详细信息本地化值

RouteTransitDetails 值的本地化说明。

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

object (LocalizedTime)

采用相应文本表示法表示的时间(包含相应的时区)。

departureTime

object (LocalizedTime)

采用相应文本表示法表示的时间(包含相应的时区)。

本地化时间

时间的本地化说明。

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

object (LocalizedText)

以字符串形式指定的时间。

timeZone

string

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

公交线路

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

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)

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

公交公司

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

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

string

此公交公司的名称。

phoneNumber

string

公交公司的语言区域专用电话号码。

uri

string

公交公司的 URI。

公交车

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

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

object (LocalizedText)

此车辆的名称(首字母大写)。

type

enum (TransitVehicleType)

所用交通工具的类型。

iconUri

string

与此车辆类型相关联的图标的 URI。

localIconUri

string

根据当地交通标识牌,与该交通工具类型相关联的图标的 URI。

公交类型

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

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

航线旅行咨询

包含应告知用户的路程路段额外信息,如可能的路况限制。

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

object (TollInfo)

包含特定RouteLeg的收费信息。仅当我们预计 RouteLeg 上有收费站时,才会填充此字段。如果已设置此字段,但未填充估算价格子字段,则预计道路会避开收费站,但不知道估算价格。如果此字段不存在,则 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)

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

步骤概览

提供关于 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 索引,即多模态段的末尾。

视口

纬度-经度视口,表示两个对角线对角的 lowhigh 点。视口会被视为封闭区域,即其边界。纬度边界必须介于 -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": { "纬度": 40.477398, "经度": -74.259087 }, "high": { "纬度": 40.91618, "经度": -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)

公交价格以文本形式表示。

地理编码结果

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

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

object (GeocodedWaypoint)

经过地理编码的航点。

destination

object (GeocodedWaypoint)

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

intermediates[]

object (GeocodedWaypoint)

一个经过地理编码的中间航点列表,其中每个航点都有一个索引字段,对应按照航点指定的请求顺序(从零开始)。

经过地理编码的航点

用作航点的位置的详细信息。仅针对地址航点填充。包含有关地理编码结果的详细信息,用于确定该地址经过地理编码。

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

object (Status)

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

type[]

string

结果的类型,采用零个或多个类型标记的形式。支持的类型:https://developers.google.com/maps/documentation/Geocoding/requests-Geocoding#Types

partialMatch

boolean

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

placeId

string

此结果的地点 ID。

intermediateWaypointRequestIndex

integer

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