Method: computeRouteMatrix

擷取起點與目的地清單,並傳回包含路線資訊的串流,每個起點和目的地組合都會包含路線資訊。

注意:這個方法需要您在輸入中指定回應欄位遮罩。如要提供回應欄位遮罩,您可以使用網址參數 $fieldsfields,或使用 HTTP/gRPC 標頭 X-Goog-FieldMask (請參閱可用的網址參數和標頭)。值為以半形逗號分隔的欄位路徑清單。請參閱這份詳細說明,瞭解如何建構欄位路徑

舉例來說,在這個方法中:

  • 所有可用欄位的欄位遮罩 (用於手動檢查):X-Goog-FieldMask: *
  • 路徑時間長度、距離、元素狀態、條件和元素索引的欄位遮罩 (範例製作設定範例):X-Goog-FieldMask: originIndex,destinationIndex,status,condition,distanceMeters,duration

請務必在欄位遮罩中加入 status,否則所有郵件看起來都會正常。Google 不建議您使用萬用字元 (*) 回應欄位遮罩,原因如下:

  • 只選取您需要的欄位有助於我們的伺服器節省運算週期,讓我們以更短的延遲時間將結果傳回給您。
  • 僅選取實際工作環境工作中所需的欄位,可確保延遲時間保持穩定。我們日後可能會新增更多回應欄位,且這些新欄位可能需要額外的計算時間。如果您選取所有欄位,或是選取頂層的所有欄位,則可能會出現成效降低的情況,因為我們新增的所有欄位都會自動納入回應中。
  • 如果只選取您需要的欄位,回應大小會縮減,網路處理量也會因此增加。

HTTP 要求

POST https://routespreferred.googleapis.com/v1:computeRouteMatrix

這個網址使用 gRPC 轉碼語法。

要求主體

要求主體的資料會採用以下結構:

JSON 表示法
{
  "origins": [
    {
      object (RouteMatrixOrigin)
    }
  ],
  "destinations": [
    {
      object (RouteMatrixDestination)
    }
  ],
  "travelMode": enum (RouteTravelMode),
  "routingPreference": enum (RoutingPreference),
  "departureTime": string
}
欄位
origins[]

object (RouteMatrixOrigin)

必要欄位。來源陣列,用於決定回應矩陣的資料列。以下幾項大小限制適用於起點和目的地的基數:

  • 無論如何,元素 (起點 × 目的地) 數量不得超過 625 個。
  • 如果將 routePreference 設為 TRAFFIC_AWARE_OPTIMAL,元素 (起點 × 目的地) 數不得超過 100。
  • 指定為 placeId 的路線控點數量 (起點 + 目的地) 不得超過 50 個。
destinations[]

object (RouteMatrixDestination)

必要欄位。目的地陣列,用於決定回應矩陣的資料欄。

travelMode

enum (RouteTravelMode)

選用設定。指定交通方式,

routingPreference

enum (RoutingPreference)

選用設定。指定如何計算路徑。伺服器會嘗試使用所選轉送偏好設定來計算路徑。如果轉送偏好設定導致錯誤或過長延遲,則會傳回錯誤。日後如果偏好的選項無法提供有效結果,我們可能會導入備用機制,以便使用其他選項。只有在 travelModeDRIVETWO_WHEELER 時,您才能指定此選項,否則要求會失敗。

departureTime

string (Timestamp format)

選用設定。出發時間。如未設定這個值,系統會使用您提出要求的時間。如果將這個值設為已經發生的時間,要求就會失敗。

RFC3339 世界標準時間「Zulu」的時間戳記格式,解析度為奈秒,且最多 9 個小數位數。範例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

回應主體

如果成功,回應主體會包含 RouteMatrixElement 的執行例項。

授權範圍

需要下列 OAuth 範圍:

  • https://www.googleapis.com/auth/maps-platform.routespreferred

詳情請參閱 OAuth 2.0 總覽