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 天的行程。

采用 RFC 3339 标准,生成的输出将始终在末尾带 Z,并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

arrivalTime

string (Timestamp format)

可选。到达时间。注意:如果请求指定的 RouteTravelMode 不是 TRANSIT,则系统会忽略此字段。您可以指定 departureTimearrivalTime,但不能同时指定这两者。公交行程最多可查询过去 7 天或未来 100 天的行程。

采用 RFC 3339 标准,生成的输出将始终在末尾带 Z,并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

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参考路线计算会考虑各种参数,以生成最佳的省油路线。使用此功能时,请在生成的路线中查找 routeLabels

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)

如果您指定了 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 省油路线。
SHORTER_DISTANCE

行程距离较短的路线。这是一项实验性功能。

对于 DRIVE 请求,此功能会优先考虑缩短距离,而不是提升驾驶舒适度。例如,它可能会选择当地道路而非高速公路,走土路,穿过停车场等。此功能不会返回任何 Google 地图已知为违法的操作。

对于 BICYCLETWO_WHEELER 请求,此功能会返回与未指定 requestedReferenceRoutes 时返回的路线类似的路线。

此功能不兼容任何其他出行方式、途经中间航点或 optimizeWaypointOrder;此类请求将失败。不过,您可以将其与任何 routingPreference 搭配使用。

ExtraComputation

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

枚举
EXTRA_COMPUTATION_UNSPECIFIED 未使用。 包含此值的请求将失败。
TOLLS 相应路线的过路费信息。
FUEL_CONSUMPTION 相应路线的估计燃料消耗量。
TRAFFIC_ON_POLYLINE 路线的可感知路况的多段线。
HTML_FORMATTED_NAVIGATION_INSTRUCTIONS NavigationInstructions 以格式化的 HTML 文本字符串形式呈现。此内容应按原样读取。此内容仅供展示。请勿以程序化方式解析此内容。
FLYOVER_INFO_ON_POLYLINE 相应路线的 Flyover 信息。必须指定 routes.polyline_details.flyover_info fieldmask 才能返回此信息。目前,此数据仅会针对印度境内的某些大都市区进行填充。此功能目前处于实验阶段,SKU/费用可能会发生变化。
NARROW_ROAD_INFO_ON_POLYLINE 相应路线的狭窄道路信息。必须指定 routes.polyline_details.narrow_road_info fieldmask 才能返回此信息。目前,此数据仅会针对印度境内的某些大都市区进行填充。此功能目前处于实验阶段,SKU/费用可能会发生变化。

路线

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

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,
  "polylineDetails": {
    object (PolylineDetails)
  }
}
字段
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

一个不透明的令牌,可传递给 Navigation SDK,以便在导航期间重建路线,并在重新规划路线时遵循创建路线时的原始意图。将此令牌视为不透明 blob。请勿跨请求比较其值,因为即使服务返回完全相同的路线,其值也可能会发生变化。

注意:Route.route_token 仅适用于将 ComputeRoutesRequest.routing_preference 设置为 TRAFFIC_AWARETRAFFIC_AWARE_OPTIMAL 的请求。对于包含途经航点的请求,不支持 Route.route_token

polylineDetails

object (PolylineDetails)

包含有关折线沿途的详细信息。

RouteLabel

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

枚举
ROUTE_LABEL_UNSPECIFIED 默认值 - 不使用。
DEFAULT_ROUTE 为路线计算返回的默认“最佳”路线。
DEFAULT_ROUTE_ALTERNATE 默认“最佳”路线的替代方案。指定 computeAlternativeRoutes 时,系统将返回此类路线。
FUEL_EFFICIENT 省油路线。标记有此值的路线被确定为针对燃油消耗等经济型参数进行了优化。
SHORTER_DISTANCE 行驶距离较短的路线。这是一项实验性功能。

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 中步骤的概览信息。此字段仅针对公交路线进行填充。

折线

封装编码多段线。

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)

指定目前同一车站各次发车的预计间隔时间。例如,如果 headwaySeconds 值为 600,那么如果您错过了一班公交,预计需要 10 分钟才能等到下一班。

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

transitLine

object (TransitLine)

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

stopCount

integer

从出发站到到达站的经停站数量。此数量包含到达站,但不含出发站。例如,如果您的路线是从 A 站出发,途经 B 站和 C 站,最终到达 D 站,

stopCount

返回 3。

tripShortText

string

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

TransitStopDetails

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

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

object (TransitStop)

相应步骤的到达站点的相关信息。

arrivalTime

string (Timestamp format)

相应步骤的预计到达时间。

采用 RFC 3339 标准,生成的输出将始终在末尾带 Z,并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

departureStop

object (TransitStop)

相应步骤的出发站的相关信息。

departureTime

string (Timestamp format)

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

采用 RFC 3339 标准,生成的输出将始终在末尾带 Z,并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

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 Avenue Local”。

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 上有收费站,并且请求的 ComputeRoutesRequest.extra_computations 中包含 TOLLS 时,系统才会填充此字段。如果设置了此字段,但未填充 estimatedPrice 子字段,则表示相应道路包含收费站,但我们不知道估计价格。如果 tollInfo 不存在,则 RouteLeg 上没有通行费。

speedReadingIntervals[]

object (SpeedReadingInterval)

显示车流密度的速度读数区间。仅当请求具有 TRAFFIC_AWARETRAFFIC_AWARE_OPTIMAL ComputeRoutesRequest.routing_preference 值,且 TRAFFIC_ON_POLYLINE 包含在 ComputeRoutesRequest.extra_computations 中时,才会为请求填充此字段。这些区间涵盖了 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 索引。

视口

一个经纬度视口,表示为两个对角点 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": { "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)

以文本形式表示的公交票价。

PolylineDetails

与多段线的指定索引或连续段对应的详细信息。对于具有点 P_0、P_1、...、P_N(从零开始的索引)的折线,PolylineDetails 定义了一个区间和关联的元数据。

JSON 表示法
{
  "flyoverInfo": [
    {
      object (FlyoverInfo)
    }
  ],
  "narrowRoadInfo": [
    {
      object (NarrowRoadInfo)
    }
  ]
}
字段
flyoverInfo[]

object (FlyoverInfo)

沿多段线的飞掠详情。

narrowRoadInfo[]

object (NarrowRoadInfo)

多段线沿途的狭窄道路详细信息。

FlyoverInfo

封装了沿折线的飞掠信息。

JSON 表示法
{
  "flyoverPresence": enum (RoadFeatureState),
  "polylinePointIndex": {
    object (PolylinePointIndex)
  }
}
字段
flyoverPresence

enum (RoadFeatureState)

仅限输出。表示多段线的指定一段是否存在飞掠效果。

polylinePointIndex

object (PolylinePointIndex)

沿折线的飞掠相关信息的位置。

RoadFeatureState

封装一段多段线沿线的道路要素状态。

枚举
ROAD_FEATURE_STATE_UNSPECIFIED 未计算道路要素的状态(默认值)。
EXISTS 道路要素存在。
DOES_NOT_EXIST 道路要素不存在。

PolylinePointIndex

封装了多段线详情的起始索引和结束索引。如果数据对应于单个点,则 startIndexendIndex 将相等。

JSON 表示法
{
  "startIndex": integer,
  "endIndex": integer
}
字段
startIndex

integer

相应详细信息在多段线中的起始索引。

endIndex

integer

相应详细信息在折线中的结束索引。

NarrowRoadInfo

封装有关沿多段线的狭窄道路的信息。

JSON 表示法
{
  "narrowRoadPresence": enum (RoadFeatureState),
  "polylinePointIndex": {
    object (PolylinePointIndex)
  }
}
字段
narrowRoadPresence

enum (RoadFeatureState)

仅限输出。表示多段线的给定路段是否存在狭窄道路。

polylinePointIndex

object (PolylinePointIndex)

多段线上与狭窄道路相关的信息的位置。

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

请求中相应中间途经点的索引。仅当相应途经点为中间途经点时填充。