使用 Routes API 的原因
透過 Routes API,您可以使用運輸詳細資料、最新的車流量和道路狀況,以及路線偏好設定,取得準確的路線和行程資訊:
不同交通工具的類型和功能
車輛行駛的方向
上車或下車的路邊
路況和道路封閉
安全性疑慮,例如避免危險區域或提供安全的接送地點
透過可選功能 (例如通行費和行程中繼資料,例如時間和距離) 和燃料效率,在路線規劃需求中取得延遲時間、品質和成本的平衡
您也可以決定最有效率的調度排程路線,例如:
如何最佳分配一組工作人員來取件
判斷最適合運送包裹至最終目的地的倉庫
Routes API 提供哪些功能?
您可以使用 Routes API 取得兩大類的路徑資訊:
從某個地點前往單一或多個目的地的路線
許多起點和終點之間的可能路線矩陣。
取得單一或多個目的地的路線
您可以使用 Routes API Compute Routes
方法,計算兩個位置之間的距離:
取得不同交通方式的路線,以及單一或多個目的地的路線:
交通方式,包括大眾運輸、開車、兩輪車輛、步行或騎單車。
一系列路線控點,您可以將其最佳化,以便以最有效率的順序前往這些路線控點。
指定起點、目的地和路線控點的方式有多種:
文字字串。例如:「芝加哥 (IL)」、「達爾文 (NT, 澳洲)」、「1800 Amphitheatre Parkway, Mountain View, CA 94043」或「CWF6+FWX Mountain View, California」
地點 ID
經緯度座標,可選填車輛方向
根據需求和目標微調路線選項:
根據車輛的引擎類型 (柴油、電動、油電混合、汽油) 選取省油或節能路線。詳情請參閱「取得環保路線」。
設定流量計算的細微選項,讓您在品質與延遲之間做出取捨。詳情請參閱「指定是否要納入流量資料,以及納入方式」。
為路標設定車輛方向 (行駛方向) 和路邊資訊,以提高預估到達時間的準確度。詳情請參閱「指定車輛行駛方向和路邊」。
要求取得通行費資訊、路線距離和預計到達時間。詳情請參閱「計算路線的通行費」。
控制延遲時間和品質:使用欄位遮罩只要求所需資料,避免不必要的處理時間和較高的請求計費率。詳情請參閱「選擇要傳回的資訊」。
取得可能路線的矩陣
Routes API Compute Route Matrix
方法會提供多個起點和終點之間建議路線的資訊矩陣,包括距離和預估抵達時間,協助您根據業務需求選擇最佳起點和目的地。您可以要求下列類型的距離資料:
所選交通模式的距離
距離單位為公里或英里
預估交通時間
有了距離資料,您就能決定在多個可能的起點和目的地之間,為乘客、貨物或工人安排最有效率的路線。
您可以在計算整個矩陣之前,透過串流傳輸回應元素,藉此降低回應延遲時間。
您可以為每個伺服器端要求指定多個出發地和目的地,出發地數量乘以目的地數量最多可達 625。
Routes API 的運作方式
Routes API 有兩種方法:ComputeRoutes
和 ComputeRouteMatrix
。
ComputeRoutes
Routes API ComputeRoutes
方法會接受 HTTP POST 要求,其中包含含有要求詳細資料的 JSON 要求主體。您必須提供起點、目的地、travelMode 和欄位遮罩,才能指定要傳回的欄位。
範例
curl -X POST -d '{ "origin": { "address": "1800 Amphitheatre Parkway, Mountain View, CA 94043" }, "destination": { "address": "Sloat Blvd &, Upper Great Hwy, San Francisco, CA 94132" }, "travelMode": "DRIVE" }' \ -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: YOUR_API_KEY' \ -H 'X-Goog-FieldMask: routes.duration,routes.distanceMeters' \ 'https://routes.googleapis.com/directions/v2:computeRoutes'
接著,服務會計算要求的路線,並傳回您要求的欄位。
ComputeRouteMatrix
Routes API ComputeRouteMatrix
會接受 HTTP POST 要求,其中包含含有要求詳細資料的 JSON 要求主體。您必須至少提供一個起點、兩個以上的目的地、travelMode,以及欄位遮罩,用於指定要傳回的欄位。
範例
curl -X POST -d '{ "origins": [ { "waypoint": { "location": { "latLng": { "latitude": 37.420761, "longitude": -122.081356 } } } }, { "waypoint": { "location": { "latLng": { "latitude": 37.403184, "longitude": -122.097371 } } } } ], "destinations": [ { "waypoint": { "location": { "latLng": { "latitude": 37.420999, "longitude": -122.086894 } } } }, { "waypoint": { "location": { "latLng": { "latitude": 37.383047, "longitude": -122.044651 } } } } ], "travelMode": "DRIVE" }' \ -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: YOUR_API_KEY' \ -H 'X-Goog-FieldMask: originIndex,destinationIndex,duration,distanceMeters,status,condition' \ 'https://routes.googleapis.com/distanceMatrix/v2:computeRouteMatrix'
回應包含所有起點和目的地路標組合的可能路線。
資源
下表總結了可透過 Routes API 取得的資源,以及該 API 傳回的資料。
資料資源 | 傳回的資料 | 傳回格式 |
---|---|---|
ComputeRoutes | 傳回路線、路段和步驟,以及替代路線 (如果要求)。 | JSON |
ComputeRouteMatrix | 傳回從一個起點路線點到一個目的地路線點的路線陣列。 |
如何使用 Routes API
1 | 做好準備 | 請先參閱「設定 Google Cloud 專案」一文,並完成後續的設定說明。 |
2 | 計算路線並查看回應 | 詳情請參閱「取得路線」和「查看路線回應」。 |
3 | 計算路線矩陣並查看回應 | 詳情請參閱「取得路線矩陣」和「查看路線矩陣回應」。 |
可用的用戶端程式庫
如需 Routes API 適用的可用用戶端程式庫清單,請參閱「用戶端程式庫」。