根據預設,Routes 程式庫的 computeRoutes 方法會依您提供的順序,計算行經多個停靠點 (稱為中途停靠路線控點) 的路線。
您可以讓 Routes API 透過更有效率的順序調整停靠點,規劃出最佳路線。中途點最佳化功能會盡量縮短交通時間,但在判斷哪條路線最有效率時,也會將距離和轉彎次數等其他因素納入考量。
如何最佳化路線控點
- 確認路徑中的任何中途點都沒有將
via設為true。 - 確認
routingPreference未設為TRAFFIC_AWARE_OPTIMAL。 - 將
optimizeWaypointOrder設為true。 - 在欄位遮罩中指定
optimizedIntermediateWaypointIndices欄位。
瞭解系統如何最佳化途中的停靠點順序
Routes API 最佳化路線中途點順序的方式如下:
- 系統會根據你在要求中提供的順序,自動為途中的停靠點建立索引,從 0 開始。
- 使用指派給要求中路線控點的索引編號,最佳化路線控點的順序。
- 系統會在
optimizedIntermediateWaypointIndices下方的回應中,傳回最佳化的路線控點順序。
要求範例
以下範例說明如何從澳洲南澳州阿德雷德,前往南澳州各主要葡萄酒產區,然後返回阿德雷德,並要求路線中的最佳化途經點。
const request = { origin: 'Adelaide, SA', destination: 'Adelaide, SA', intermediates: [ {location: "Barossa+Valley,SA"}, {location: "Clare,SA"}, {location: "Coonawarra,SA"}, {location: "McLaren+Vale,SA"}, ], travelMode: 'DRIVING', optimizeWaypointOrder: true, fields: ['path','optimizedIntermediateWaypointIndices'], };
回應範例
回應會包含optimizedIntermediateWaypointIndices。
Response: [ { "optimizedIntermediateWaypointIndices": [ 3, // McLaren+Vale, SA 2, // Coonawarra, SA 0, // Barossa+Valley, SA 1 // Clare, SA ], ...