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

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

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。封装多段线的类型。默认为 coding_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)
  }
}
字段
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)

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

例如:

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

RouteLegTravelAdvisory

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

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

object (TollInfo)

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

speedReadingIntervals[]

object (SpeedReadingInterval)

详细说明交通密度的速度读取间隔。适用于 TRAFFIC_AWARETRAFFIC_AWARE_OPTIMAL 路由偏好设置。间隔涵盖 RouteLg 的整个多段线,不重叠。指定间隔的起点与前一间隔的终点相同。

例如:

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