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;中級:達拉斯、邦格爾、鳳凰城;目的地:紐約;最佳化的中繼路線控點順序為:鳳凰城、達拉斯、孟加。這個欄位就會包含 [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)

封裝使用者應瞭解的其他資訊,例如路線路段可能的交通區限制等。

折線

封裝編碼折線。

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)
  }
}
欄位
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)

注意:這個欄位目前未填入任何內容。

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