- 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
,否則所有訊息都會顯示為 OK。Google 不建議使用萬用字元 (*
) 回應欄位遮罩,因為:
- 只選取所需欄位有助於伺服器節省運算週期,讓我們能以更低的延遲時間傳回結果。
- 只在實際工作中選取所需欄位,即可確保延遲時間穩定。我們日後可能會新增更多回應欄位,而這些新欄位可能需要額外的運算時間。如果您選取所有欄位,或是選取頂層的所有欄位,系統會自動將新增的任何欄位納入回應,因此可能會導致效能降低。
- 只選取所需欄位,可縮小回應大小,進而提高網路傳輸量。
HTTP 要求
POST https://routes.googleapis.com/distanceMatrix/v2:computeRouteMatrix
這個網址使用 gRPC 轉碼語法。
要求主體
要求主體的資料會採用以下結構:
JSON 表示法 |
---|
{ "origins": [ { object ( |
欄位 | |
---|---|
origins[] |
必要欄位。來源陣列,用於決定回應矩陣的資料列。來源和目的地的基數有幾項大小限制:
|
destinations[] |
必要欄位。目的地陣列,用於決定回應矩陣的資料欄。 |
travel |
選用設定。指定交通方式。 |
routing |
選用設定。指定計算路線的方式。伺服器會嘗試使用所選的路由偏好設定來計算路徑。如果路由偏好設定導致錯誤或延遲時間過長,系統會傳回錯誤。只有在 |
departure |
選用設定。出發時間。如果您未設定這個值,則預設值為您提出要求的時間。注意:只有在 採用 RFC3339 世界標準時間「Zulu」格式的時間戳記,精確度達奈秒單位,最多九個小數位數。例如 |
arrival |
選用設定。抵達時間。注意:只有在 採用 RFC3339 世界標準時間「Zulu」格式的時間戳記,精確度達奈秒單位,最多九個小數位數。例如 |
language |
選用設定。BCP-47 語言代碼,例如「en-US」或「sr-Latn」。詳情請參閱「Unicode 語言代碼」。如需支援語言清單,請參閱「程式語言支援」一文。如果未提供這個值,系統會根據第一個來源的位置推測顯示語言。 |
region |
選用設定。區碼,採 ccTLD (「頂層網域」) 的兩位字元值 詳情請參閱「國家/地區代碼頂層網域」。 |
units |
選用設定。指定顯示欄位的測量單位。 |
extra |
選用設定。可用來完成要求的額外運算清單。注意:這些額外運算可能會在回應中傳回額外欄位。您必須在回應中傳回的欄位遮罩中指定這些額外欄位。 |
traffic |
選用設定。指定計算交通時間時要採用的假設。這項設定會影響 |
transit |
選用設定。指定會影響 |
回應主體
包含在 v2.computeRouteMatrix API 中,針對起點/目的地組合計算的路線資訊。這個 proto 可以串流傳送至用戶端。
如果成功,回應主體會含有以下結構的資料:
JSON 表示法 |
---|
{ "status": { object ( |
欄位 | |
---|---|
status |
這個元素的錯誤狀態代碼。 |
condition |
指出是否找到路線。不受狀態影響。 |
distance |
路線的移動距離 (以公尺為單位)。 |
duration |
導航路線所需的時間長度。如果您將 時間長度以秒為單位,最多可有 9 個小數位數,並應以「 |
static |
不考量交通狀況的路線行駛時間。 時間長度以秒為單位,最多可有 9 個小數位數,並應以「 |
travel |
路線的其他資訊。例如:限制資訊和收費資訊 |
fallback |
在某些情況下,如果伺服器無法根據特定起點/目的地組合的指定偏好設定來計算路線,可能會改用其他計算模式。使用備用模式時,這個欄位會包含備用回應的詳細資訊。否則,這個欄位未設定。 |
localized |
|
origin |
要求中來源的索引,從零開始。 |
destination |
要求中目的地的索引,從零開始。 |
RouteMatrixOrigin
ComputeRouteMatrixRequest 的單一來源
JSON 表示法 |
---|
{ "waypoint": { object ( |
欄位 | |
---|---|
waypoint |
必要欄位。起點路線控點 |
route |
選用設定。針對以此為起點的每條路線的修飾符 |
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 相同。 |
static |
不考量交通狀況,以文字形式表示的時間長度。 |
transit |
以文字形式表示的大眾運輸票價。 |