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 中繼路線控點的路線有一條路段。路段的順序符合 originintermediatesdestination 的路線控點順序。

distanceMeters

integer

路線的移動距離 (以公尺為單位)。

duration

string (Duration format)

導航路線所需的時間。如果將 routingPreference 設為 TRAFFIC_UNAWARE,則這個值與 staticDuration 相同。如果您將 routingPreference 設為 TRAFFIC_AWARETRAFFIC_AWARE_OPTIMAL,這個值會將路況納入考量。

持續時間以秒為單位,最多 9 個小數位數,結尾為「s」,例如:"3.5s"

staticDuration

string (Duration format)

行經路線時未將路況納入考量。

持續時間以秒為單位,最多 9 個小數位數,結尾為「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;中級:達拉斯、班格爾、鳳凰城;目的地:紐約;而最佳化的中繼路線控點順序為:鳳凰城、達拉斯、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,系統在計算這個值時會將路況納入考量。

持續時間以秒為單位,最多 9 個小數位數,結尾為「s」,例如:"3.5s"

staticDuration

string (Duration format)

行經路段的時間長度,不將路況納入考量。

持續時間以秒為單位,最多 9 個小數位數,結尾為「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。封裝折線的類型。預設為 coded_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)

在不考量路況的情況下,完成這個步驟的行進時間。在某些情況下,這個欄位可能沒有值。

持續時間以秒為單位,最多 9 個小數位數,結尾為「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).