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 中间航点的路线有两段路程。包含 1 个 via 中间航点的路线有一段路程。路程顺序与从 originintermediates 再到 destination 的 Waypoint 顺序一致。

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,则此字段包含中间航点的优化顺序。否则,此字段为空。例如,假设输入是 Origin: LA;中级课程:达拉斯、班戈、菲尼克斯;目的地:纽约;而优化的中间航点顺序为:Phoenix、Dallas、Bangor。在这种情况下,此字段会包含值 [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)

详细说明交通密度的速度读数间隔。适用于 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 上有收费站时,才会填充此字段。如果设置了此字段,但未填充预计价格子字段,我们会认为这条道路包含收费站,但不知道预计价格。如果此字段不存在,则 RouteLeg 上没有收费站。

speedReadingIntervals[]

object (SpeedReadingInterval)

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

示例:

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