- HTTP 要求
- 要求主體
- 回應主體
- RouteMatrixOrigin
- RouteMatrixDestination
- ExtraComputation
- RouteMatrixElementCondition
- LocalizedValues
擷取起點與目的地清單,並傳回包含路線資訊的串流,每個起點和目的地組合都會包含路線資訊。
注意:這個方法需要您在輸入中指定回應欄位遮罩。如要提供回應欄位遮罩,您可以使用網址參數 $fields
或 fields
,或使用 HTTP/gRPC 標頭 X-Goog-FieldMask
(請參閱可用的網址參數和標頭)。值為以半形逗號分隔的欄位路徑清單。請參閱這份詳細說明,瞭解如何建構欄位路徑。
舉例來說,在這個方法中:
- 所有可用欄位的欄位遮罩 (用於手動檢查):
X-Goog-FieldMask: *
- 路徑時間長度、距離、元素狀態、條件和元素索引的欄位遮罩 (範例製作設定範例):
X-Goog-FieldMask: originIndex,destinationIndex,status,condition,distanceMeters,duration
請務必在欄位遮罩中加入 status
,否則所有郵件看起來都會正常。Google 不建議您使用萬用字元 (*
) 回應欄位遮罩,原因如下:
- 只選取您需要的欄位有助於我們的伺服器節省運算週期,讓我們以更短的延遲時間將結果傳回給您。
- 僅選取實際工作環境工作中所需的欄位,可確保延遲時間保持穩定。我們日後可能會新增更多回應欄位,且這些新欄位可能需要額外的計算時間。如果您選取所有欄位,或是選取頂層的所有欄位,則可能會出現成效降低的情況,因為我們新增的所有欄位都會自動納入回應中。
- 如果只選取您需要的欄位,回應大小會縮減,網路處理量也會因此增加。
HTTP 要求
POST https://routes.googleapis.com/distanceMatrix/v2:computeRouteMatrix
這個網址使用 gRPC 轉碼語法。
要求主體
要求主體的資料會採用以下結構:
JSON 表示法 |
---|
{ "origins": [ { object ( |
欄位 | |
---|---|
origins[] |
必要欄位。來源陣列,用於決定回應矩陣的資料列。以下幾項大小限制適用於起點和目的地的基數:
|
destinations[] |
必要欄位。目的地陣列,用於決定回應矩陣的資料欄。 |
travelMode |
選用設定。指定交通方式, |
routingPreference |
選用設定。指定如何計算路徑。伺服器會嘗試使用所選轉送偏好設定來計算路徑。如果轉送偏好設定導致錯誤或過長延遲,則會傳回錯誤。只有在 |
departureTime |
選用設定。出發時間。如未設定這個值,則這個值會預設為您提出要求的時間。注意:當 RFC3339 世界標準時間「Zulu」的時間戳記格式,解析度為奈秒,且最多 9 個小數位數。範例: |
arrivalTime |
選用設定。抵達時間。注意:只有在 RFC3339 世界標準時間「Zulu」的時間戳記格式,解析度為奈秒,且最多 9 個小數位數。範例: |
languageCode |
選用設定。BCP-47 語言代碼,例如「en-US」或「sr-Latn」。詳情請參閱 Unicode 語言代碼 ID。如需支援的語言清單,請參閱語言支援。如未提供這個值,系統會根據第一個來源的位置推斷顯示語言。 |
regionCode |
選用設定。區碼,指定為 ccTLD (「頂層網域」) 的兩位字元值詳情請參閱國家/地區代碼頂層網域。 |
units |
選用設定。指定顯示欄位的測量單位。 |
extraComputations[] |
選用設定。一份額外運算清單,可用來完成要求。注意:這些額外的運算作業可能會在回應中傳回額外的欄位。您也必須在欄位遮罩中指定這些額外的欄位,才能在回應中傳回。 |
trafficModel |
選用設定。指定計算交通時間時要採用的假設。這項設定會影響 |
transitPreferences |
選用設定。指定偏好設定,讓 |
回應主體
包含針對 v2.computeRouteMatrix API 中的起點/目的地組合計算的路線資訊。此原型可以串流至用戶端。
如果成功,回應主體會含有以下結構的資料:
JSON 表示法 |
---|
{ "status": { object ( |
欄位 | |
---|---|
status |
這個元素的錯誤狀態碼。 |
condition |
指出是否找到路線。狀態無關。 |
distanceMeters |
路線的移動距離 (以公尺為單位)。 |
duration |
導航路線所需時間。如果將 持續時間以秒為單位,最多 9 個小數位數,結尾為「 |
staticDuration |
在不考量路況的情況下行經路線的時間長度。 持續時間以秒為單位,最多 9 個小數位數,結尾為「 |
travelAdvisory |
路線的其他資訊。例如:限制資訊和收費路段資訊 |
fallbackInfo |
在某些情況下,當伺服器無法針對這個特定的起點/目的地組合,以指定偏好設定計算路線時,可能會改回使用其他計算模式。使用備用模式時,這個欄位會包含備用回應的詳細資訊。否則,系統會取消設定這個欄位。 |
localizedValues |
|
originIndex |
要求中的來源索引 (索引從零開始)。 |
destinationIndex |
要求中的目的地索引為零的索引。 |
RouteMatrixOrigin
ComputeRouteMatrixRequest 的單一來源
JSON 表示法 |
---|
{ "waypoint": { object ( |
欄位 | |
---|---|
waypoint |
必要欄位。來源路線控點 |
routeModifiers |
選用設定。每條路徑的修飾符 |
RouteMatrixDestination
ComputeRouteMatrixRequest 的單一目的地
JSON 表示法 |
---|
{
"waypoint": {
object ( |
欄位 | |
---|---|
waypoint |
必要欄位。目的地路線控點 |
ExtraComputation
完成要求時要執行的其他運算。
列舉 | |
---|---|
EXTRA_COMPUTATION_UNSPECIFIED |
未使用。包含這個值的要求都會失敗。 |
TOLLS |
矩陣元素的收費站資訊。 |
RouteMatrixElementCondition
傳迴路線的條件。
列舉 | |
---|---|
ROUTE_MATRIX_ELEMENT_CONDITION_UNSPECIFIED |
只有在元素的 status 不正確時才能使用。 |
ROUTE_EXISTS |
找到路徑,並為 元素填入相對應的資訊。 |
ROUTE_NOT_FOUND |
找不到路線。元素中不會填入包含路線資訊的欄位,例如 distanceMeters 或 duration 。 |
LocalizedValues
特定屬性的文字表示法。
JSON 表示法 |
---|
{ "distance": { object ( |
欄位 | |
---|---|
distance |
以文字形式表示的移動距離。 |
duration |
考量路況,以文字形式呈現的時間長度。注意:如果未要求流量資訊,這個值會與 staticDuration 相同。 |
staticDuration |
以文字形式表示的時間長度,並未將路況納入考量。 |
transitFare |
以文字表示的大眾運輸票價。 |