查看路徑矩陣回應

歐洲經濟區 (EEA) 開發人員

路徑矩陣要求會將起點和目的地路線控點陣列做為輸入內容。接著,Routes API 會計算從各起點路線控點到各目的地路線控點的路線。舉例來說,如果您指定兩個起點路線控點和兩個目的地路線控點,API 就會計算四條不同的路線。

API 回應包含陣列,其中每個陣列元素都對應從一個起點路線控點到一個目的地路線控點的路線。因此,如果您指定兩個起點路線控點和兩個目的地路線控點,回應陣列會包含四個元素,每個元素代表一條計算出的路線。

您可以根據回應,為客戶提供不同的路線選項,然後讓使用者根據需求選取合適的路線。

關於欄位遮罩

呼叫方法來計算路線時,您必須指定欄位遮罩,定義要在回應中傳回哪些欄位。系統沒有預設的傳回欄位清單。如果省略這份清單,方法會傳回錯誤。

本文中的範例會顯示整個回應物件,不考慮欄位遮罩。在正式環境中,回應只會包含您在欄位遮罩中明確指定的欄位。

詳情請參閱「選擇要傳回的資訊」。

關於顯示著作權

向使用者顯示結果時,必須附上以下著作權聲明:

Powered by Google, ©YEAR Google

例如:

Powered by Google, ©2023 Google

找出回應中的路徑

使用 originIndex 和 destinationIndex 回應屬性,識別回應中的每條路線。這些屬性包含用於計算路線的輸入起點和輸入目的地路線控點的以零為基準索引。也就是說,要求中的第一個起點路線控點和第一個目的地路線控點,位於陣列索引 0。

舉例來說,回應中的路線包含:

"originIndex": 1,
"destinationIndex": 0

這些屬性表示路線是從輸入陣列中索引 1 的起點路線控點,以及索引 0 的目的地路線控點計算而來。

下一個路徑:

"originIndex": 4,
"destinationIndex": 1

系統會根據輸入陣列中索引 4 的起點路線控點,以及輸入陣列中索引 1 的目的地路線控點,計算路線。

關於回應中的路線資訊

API 回應包含一個陣列,其中每個陣列元素定義了從一個起點路線控點到一個目的地路線控點的路線。這些元素是 gRPC 方法中的 RouteMatrixElements,或 HTTP 回應中的回應主體。

除了 originIndex 和 destinationIndex 屬性外,每個元素只包含該路線的基本資訊,例如 distanceMeters、duration 和 travelAdvisory。如要取得路線的詳細資訊 (例如折線),請使用 computeRoutes。

回應格式如下:

[
  // One array element for each combination of origin and destination waypoints.
  {
    // The route for source waypoint 0 and destination waypoint 0.
    "originIndex": 0,
    "destinationIndex": 0,
    "status": {
      object (Status)
    },
    "condition": enum (RouteMatrixElementCondition),
    "distanceMeters": integer,
    "duration": string,
    "staticDuration": string,
    "travelAdvisory": {
      object (RouteTravelAdvisory)
    },
    "fallbackInfo": {
      object (FallbackInfo)
    }
  }
  {
    // The route for source waypoint 0 and destination waypoint 1.
    "originIndex": 0,
    "destinationIndex": 1,
    "status": {
      object (Status)
    },
    "condition": enum (RouteMatrixElementCondition),
    "distanceMeters": integer,
    "duration": string,
    "staticDuration": string,
    "travelAdvisory": {
      object (RouteTravelAdvisory)
    },
    "fallbackInfo": {
      object (FallbackInfo)
    }
  }
  …
]