您可以計算路線的距離和所需時間
出發地和目的地,ComputeRouteMatrix
Routes Preferred API 的一部分「ComputeRouteMatrix
」支援
串流 gRPC 呼叫和 REST HTTP 呼叫
指定起點和目的地組合清單時,ComputeRouteMatrix
計算從每個起點出發的路線距離和所需時間
並在各目的地結束串流中的每個元素
只提供單一路線的資訊。
ComputeRouteMatrix
方法相較於
距離矩陣服務:
- 串流可在整個矩陣之前傳回元素 大幅縮短延遲時間
ComputeRouteMatrix
提供精細的流量計算選項, 方便您在品質與延遲方面做出取捨- 要求會在 Google 基礎架構中優先執行 因而提高可用性
- 可指定方向 (交通方向) 和道路側面 提供路線控點相關資訊
- 您可以要求傳回收費資訊,以及 例如路線距離和預計到達時間
啟用 ComputeRouteMatrix 方法
如要在程式碼中使用 ComputeRouteMatrix
方法,您必須先
立即啟用。進一步瞭解如何啟用 Routes Preferred API
方法,請參閱入門指南。
使用 ComputeRouteMatrix 方法
ComputeRouteMatrix
方法可透過 Routes Preferred 取得
v1 端點。
詳情請參閱以下說明文件:
以下通用步驟說明如何使用 gRPC 呼叫
ComputeRouteMatrix
方法:
請從 googleapis 存放區查看必要的 protobuffer:
https://github.com/googleapis/googleapis/tree/master/google/maps/routes
請注意,部分建構系統 (例如 Go) 可能會自動執行這項作業。
使用慣用的語言和一組建構工具,生成相關 protobuffer 程式碼
產生要求。必須傳送兩項必要中繼資料 要求:
- 您必須將 X-Goog-Api-Key 設為 API 金鑰。
X-Goog-Fieldmask「X-Goog-Fieldmask」必須設為以逗號分隔的欄位清單 您需要的回覆例如: X-Goog-FieldMask: originIndex,destinationIndex,duration,distanceMeters,status。 您可以使用萬用字元 (*) 來表示所有欄位, 請盡量不要這麼做請使用萬用字元來測試並瞭解 API 回應,但在欄位遮罩中明確列出所需的欄位 。
如要進一步瞭解如何建構欄位遮罩字串,請參閱 https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/field_mask.proto. 請注意,停用不需要的欄位可以減少延遲時間,因為 這些欄位可能需要進一步計算您的延遲時間將維持不變 但如果您指定了需要的欄位和 會再加入更多運算資源
傳送要求給「
routespreferred.googleapis.com:443
」。您必須使用 使用 TLS 通訊協定
如需使用 ComputeRouteMatrix
方法的範例,請參閱
計算路徑矩陣 (Beta 版) 範例。
ComputeRouteMatrix
方法的其中一項特色是
系統可傳回整個串流或個別的錯誤代碼
元素。例如,如果要求串流,串流連線會傳回錯誤
的格式錯誤 (例如沒有來源)。但錯誤
串流的幾個元素 (例如設定無效的地點 ID 時)
,則只有受錯誤影響的元素會包含錯誤代碼。
串流傳回的元素不保證會傳回
順序。因此,每個元素都包含 origin_index
以及 destination_index
。適用於指定的出發地和目的地
該要求,路線起點等於 origins[origin_index]
,且路線目的地等同於
至 destinations[destination_index]
。這些陣列是從零開始索引。這項服務
請務必儲存起點和目的地清單的訂單。
計算過路費
如要瞭解如何計算通行費,請參閱 計算過路費。
如需計算通行費的範例,請參見 計算路徑矩陣範例。