計算路徑矩陣

您可以計算路線的距離和所需時間 出發地和目的地,ComputeRouteMatrix Routes Preferred API 的一部分「ComputeRouteMatrix」支援 串流 gRPC 呼叫和 REST HTTP 呼叫

指定起點和目的地組合清單時,ComputeRouteMatrix 計算從每個起點出發的路線距離和所需時間 並在各目的地結束串流中的每個元素 只提供單一路線的資訊。

ComputeRouteMatrix 方法相較於 距離矩陣服務:

  • 串流可在整個矩陣之前傳回元素 大幅縮短延遲時間
  • ComputeRouteMatrix 提供精細的流量計算選項, 方便您在品質與延遲方面做出取捨
  • 要求會在 Google 基礎架構中優先執行 因而提高可用性
  • 可指定方向 (交通方向) 和道路側面 提供路線控點相關資訊
  • 您可以要求傳回收費資訊,以及 例如路線距離和預計到達時間

啟用 ComputeRouteMatrix 方法

如要在程式碼中使用 ComputeRouteMatrix 方法,您必須先 立即啟用。進一步瞭解如何啟用 Routes Preferred API 方法,請參閱入門指南

使用 ComputeRouteMatrix 方法

ComputeRouteMatrix 方法可透過 Routes Preferred 取得 v1 端點。

詳情請參閱以下說明文件:

gRPC: https://developers.google.com/maps/documentation/routes_preferred/reference/rpc/google.maps.routes.v1

REST: https://developers.google.com/maps/documentation/routes_preferred/reference/rest/v1/TopLevel/computeRouteMatrix

以下通用步驟說明如何使用 gRPC 呼叫 ComputeRouteMatrix 方法:

  1. 請從 googleapis 存放區查看必要的 protobuffer:

    https://github.com/googleapis/googleapis/tree/master/google/maps/routes

    請注意,部分建構系統 (例如 Go) 可能會自動執行這項作業。

  2. 使用慣用的語言和一組建構工具,生成相關 protobuffer 程式碼

  3. 產生要求。必須傳送兩項必要中繼資料 要求:

    • 您必須將 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. 請注意,停用不需要的欄位可以減少延遲時間,因為 這些欄位可能需要進一步計算您的延遲時間將維持不變 但如果您指定了需要的欄位和 會再加入更多運算資源

  4. 傳送要求給「routespreferred.googleapis.com:443」。您必須使用 使用 TLS 通訊協定

如需使用 ComputeRouteMatrix 方法的範例,請參閱 計算路徑矩陣 (Beta 版) 範例

ComputeRouteMatrix 方法的其中一項特色是 系統可傳回整個串流或個別的錯誤代碼 元素。例如,如果要求串流,串流連線會傳回錯誤 的格式錯誤 (例如沒有來源)。但錯誤 串流的幾個元素 (例如設定無效的地點 ID 時) ,則只有受錯誤影響的元素會包含錯誤代碼。

串流傳回的元素不保證會傳回 順序。因此,每個元素都包含 origin_index 以及 destination_index。適用於指定的出發地和目的地 該要求,路線起點等於 origins[origin_index] ,且路線目的地等同於 至 destinations[destination_index]。這些陣列是從零開始索引。這項服務 請務必儲存起點和目的地清單的訂單。

計算過路費

如要瞭解如何計算通行費,請參閱 計算過路費

如需計算通行費的範例,請參見 計算路徑矩陣範例