RouteRequestRouteMatrix202Response interface
Post Route Matrix
API 是 HTTP POST
要求,允許使用異步 (async) 要求,計算一組由來源和目的地位置定義的路由摘要矩陣。 若要提出同步 (sync) 要求,請參閱 Post Route Matrix Sync。針對每個指定的來源,服務會計算從該來源到每個指定目的地的路由成本。 一組原點和一組目的地可以視為數據表的數據行和數據列標頭,而數據表中的每個數據格都包含從源數據行到該單元格目的地的路由成本。 例如,假設一家食品送貨公司有20名司機,他們需要找到最接近的司機,才能從餐廳接貨。 若要解決此使用案例,他們可以呼叫矩陣路由API。
針對每個路線,都會傳回行進時間和距離。 您可以使用計算成本來判斷要使用路由方向 API 計算的詳細路由。
異步要求矩陣的大小上限為
注意
所有原點和目的地都應該包含在軸對齊的 400 公里 x 400 公里周框方塊中。 否則,某些矩陣單元格會解析為OUT_OF_REGION。
提交同步路由矩陣要求
如果您的案例需要同步要求,且矩陣的大小上限小於或等於 100,您可能會想要提出同步要求。 此 API 矩陣的大小上限 100(原點數目乘以目的地數目)。 考慮到該條件約束,可能的矩陣維度範例包括:10x10、6x8、9x8(不需要正方形)。
POST https://atlas.microsoft.com/route/matrix/sync/json?api-version=1.0&subscription-key={subscription-key}
提交異步路由矩陣要求
異步 API 適用於處理大量相對複雜的路由要求。 當您使用異步要求提出要求時,服務預設會在響應標頭的 [位置] 字段中傳回 202 回應碼以及重新導向 URL。 應該定期檢查此 URL,直到響應資料或錯誤資訊可用為止。 如果要求中的 waitForResults
參數設定為 true,則如果要求在 120 秒內完成,使用者會收到 200 回應。
此 API 矩陣的大小上限 700(原點數目乘以目的地數目)。 考慮到該條件約束,可能的矩陣維度範例包括:50x10、10x10、28x25。 10x70 (不需要正方形)。
異步回應會儲存 24 小時。 如果到期期間之後使用,重新導向 URL 會傳回 404 回應。
POST https://atlas.microsoft.com/route/matrix/json?api-version=1.0&subscription-key={subscription-key}
以下是一般異步操作順序:
用戶端會將路由矩陣 POST 要求傳送至 Azure 地圖服務
伺服器會以下欄其中一項回應:
HTTP
202 Accepted
- 已接受路由矩陣要求。HTTP
Error
- 處理路由矩陣要求時發生錯誤。 這可能是 400 不正確的要求或任何其他錯誤狀態代碼。如果成功接受矩陣路由要求,回應中的Location標頭會包含下載要求結果的URL。 此狀態 URI 如下所示:
GET https://atlas.microsoft.com/route/matrix/{matrixId}?api-version=1.0?subscription-key={subscription-key}
- 用戶端在步驟 3 取得的下載 URL 上發出 GET 要求,以下載結果
下載同步處理結果
當您對路由矩陣同步 API 提出 POST 要求時,服務會傳回 200 回應碼,以取得成功的要求和響應數位。 回應本文會包含數據,而且稍後將無法擷取結果。
下載異步結果
當要求發出 202 Accepted
回應時,系統會使用我們的異步管線來處理要求。 系統會提供 URL,以在回應的位置標頭中檢查異步要求進度。 此狀態 URI 如下所示:
GET https://atlas.microsoft.com/route/matrix/{matrixId}?api-version=1.0?subscription-key={subscription-key}
位置標頭提供的 URL 會在發出 GET
要求時傳回下列回應。
HTTP
202 Accepted
- 已接受矩陣要求,但仍正在處理中。 請稍後再試一次。
HTTP
200 OK
- 矩陣要求已成功處理。 回應本文包含所有結果。
- Extends
屬性
headers | |
status |
繼承的屬性
body | 剖析的主體 |
request | 產生此回應的要求。 |
屬性詳細資料
headers
headers: RawHttpHeaders & RouteRequestRouteMatrix202Headers
屬性值
status
status: "202"
屬性值
"202"
繼承的屬性詳細資料
body
剖析的主體
body: unknown
屬性值
unknown
繼承自 HttpResponse.body