computeRoutes 方法會傳回以折線表示的路線,做為回應的一部分。您可以要求兩種類型的折線:
- 基本折線 (預設):代表路線,但折線中未嵌入車流量資訊。傳回基本折線的要求會以 Routes Basic 費率計費。進一步瞭解 Routes API 的計費方式。
- 車流量感知折線,內含路線沿途的車流量狀況資訊。車流量狀況會以速度類別 (
NORMAL、SLOW、TRAFFIC_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. };
車流量感知折線
如要要求提供可感知流量的折線,請在要求中加入下列屬性:
- 將
travelMode屬性設為DRIVING。 - 將
routingPreference屬性設為TRAFFIC_AWARE。 - 將
extraComputations屬性設為TRAFFIC_ON_POLYLINE。 - 指定
path、speedPaths和routeLabels欄位。
以下範例說明如何要求提供可感知流量的折線:
// 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));