Route

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

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

object (RouteLeg)

组成路线的路程(航点之间的路径段)的集合。每段路程都对应于两个非 via 航点之间的行程。例如,没有中间航点的路线只有一个航段。包含一个非 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

如果 ComputeRoutesRequest.optimize_waypoint_order 设为 true,则此字段包含经过优化的中间路径点排序。否则,此字段为空。例如,假设输入为:起点:洛杉矶;中继点:达拉斯、班戈、菲尼克斯;目的地:纽约;经过优化的中继点顺序为:菲尼克斯、达拉斯、班戈。在这种情况下,此字段会包含值 [2, 0, 1]。对于第一个中间航点,索引从 0 开始。

RouteLeg

封装非 via 航点之间的路段。

JSON 表示法
{
  "distanceMeters": integer,
  "duration": string,
  "staticDuration": string,
  "polyline": {
    object (Polyline)
  },
  "startLocation": {
    object (Location)
  },
  "endLocation": {
    object (Location)
  },
  "steps": [
    {
      object (RouteLegStep)
    }
  ],
  "travelAdvisory": {
    object (RouteLegTravelAdvisory)
  }
}
字段
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)

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

折线

封装编码多段线。

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_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)
  }
}
字段
distanceMeters

integer

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

staticDuration

string (Duration format)

完成此路段不考虑路况信息的时长。在某些情况下,此字段可能没有值。

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

polyline

object (Polyline)

与此步骤关联的多段线。

startLocation

object (Location)

此路段的起始位置。

endLocation

object (Location)

此步骤的终点位置。

navigationInstruction

object (NavigationInstruction)

导航说明。

travelAdvisory

object (RouteLegStepTravelAdvisory)

封装应告知用户的其他信息,例如路程路段可能的交通区域限制。

RouteLegStepTravelAdvisory

封装应告知用户的其他信息,例如路程路段可能的交通区域限制。

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

object (SpeedReadingInterval)

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

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).