使用折線

歐洲經濟區 (EEA) 開發人員

computeRoutes 方法會傳回以折線表示的路線,做為回應的一部分。您可以要求兩種類型的折線:

  • 基本折線 (預設):代表路線,但折線中未嵌入車流量資訊。傳回基本折線的要求會以 Routes Basic 費率計費。進一步瞭解 Routes API 的計費方式。
  • 車流量感知折線,內含路線沿途的車流量狀況資訊。車流量狀況會以速度類別 (NORMALSLOWTRAFFIC_JAM) 表示,適用於折線的特定間隔。要求提供可感知流量的折線時,會以 Routes Preferred 費率計費。進一步瞭解 Routes API 的計費方式。
  • 多模態折線:包含大眾運輸詳細資料和車流量資訊。系統會以 Routes Preferred 費率,計算多模式折線的要求費用。 進一步瞭解 Routes API 的計費方式。

基本折線 (預設)

折線是以 Polyline 物件表示,路徑則是 LatLngAltitude 座標的陣列。如要傳回基本折線,請呼叫 computeRoutes 方法,並將 fields 屬性設為 path,然後對路徑例項呼叫 createPolylines 方法,取得 Polyline 物件。

以下範例說明如何要求基本折線:

// Define a basic routes request.
const requestWithBasicPolyline = {
  origin: '155 Steuart St, San Francisco, CA 94105',
  destination: '450 Powell St, San Francisco, CA 94102',
  travelMode: 'WALKING',
  fields: ['path'],  // Request path field to get a polyline.
};
  

車流量感知折線

如要要求提供可感知流量的折線,請在要求中加入下列屬性:

  1. travelMode 屬性設為 DRIVING
  2. routingPreference 屬性設為 TRAFFIC_AWARE
  3. extraComputations 屬性設為 TRAFFIC_ON_POLYLINE
  4. 指定 pathspeedPathsrouteLabels 欄位。

以下範例說明如何要求提供可感知流量的折線:

// Define a traffic aware routes request.
const requestWithTraffic = {
  origin: '200 King St San Francisco, CA 94107',
  destination: 'Pier 41, San Francisco, CA 94133',
  travelMode: 'DRIVING',
  routingPreference: 'TRAFFIC_AWARE',
  extraComputations: ['TRAFFIC_ON_POLYLINE'],
  fields: ['speedPaths'],
};
  

在地圖上顯示折線

如要在地圖上顯示折線,請對路線物件呼叫 createPolylines,然後使用 setMap 方法將折線的地圖設為地圖物件。地圖物件用於在地圖上顯示折線。

以下範例說明如何在 Google 地圖上顯示折線:

  // Call createPolylines to create polylines for the first route.
  mapPolylines = routes[0].createPolylines();
  // Add polylines to the map.
  mapPolylines.forEach((polyline) => polyline.setMap(map));