共用方式為


RequestRouteDirectionsBatch interface

方法

get(RequestParameters)

Get Route Directions Batch API 是 HTTP GET 要求,會使用單一要求將查詢批次傳送至 取得路由指示 API。 您可以呼叫 Get Route Directions Batch API,以異步方式執行 (async) 或同步執行 (sync)。 異步 API 可讓呼叫者批處理最多 700 700 個 查詢,並將 API 同步處理至 100 個 查詢

下載異步批次結果

若要下載異步批次結果,您將向批次下載端點發出 GET 要求。 此 下載 URL 可以從成功 Location 批次要求的 POST 標頭取得,如下所示:

https://atlas.microsoft.com/route/directions/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}

以下是下載批次結果的一般作業順序:

  1. 用戶端會使用 GET傳送 要求。

  2. 伺服器會以下欄其中一項回應:

    HTTP 202 Accepted - 已接受 Batch 要求,但仍正在處理中。 請稍後再試一次。

    HTTP 200 OK - 已成功處理批次要求。 回應本文包含所有批次結果。

批次回應模型

傳回的數據內容類似於異步和同步處理要求。 下載異步批次要求的結果時,如果批次已完成處理,響應主體就會包含批次回應。 此批次回應包含 summary 元件,指出屬於原始批次要求一部分的 totalRequests,以及成功執行的查詢 successfulRequests。 批次回應也包含 batchItems 數位列,其中包含批次要求中每個查詢的回應。 batchItems 會以與批次要求中傳送原始查詢完全相同的順序來包含結果。 batchItems 中的每個專案都包含 statusCoderesponse 欄位。 response 中的每個 batchItems 都是下列其中一種類型:

  • RouteDirections - 如果查詢成功完成。

  • Error - 如果查詢失敗。 在此案例中,回應會包含 codemessage

以下是 1 個成功 和 1 失敗 結果的批次回應範例:

{
    "summary": {
        "successfulRequests": 1,
        "totalRequests": 2
    },
    "batchItems": [
        {
            "statusCode": 200,
            "response": {
                "routes": [
                    {
                        "summary": {
                            "lengthInMeters": 1758,
                            "travelTimeInSeconds": 387,
                            "trafficDelayInSeconds": 0,
                            "departureTime": "2018-07-17T00:49:56+00:00",
                            "arrivalTime": "2018-07-17T00:56:22+00:00"
                        },
                        "legs": [
                            {
                                "summary": {
                                    "lengthInMeters": 1758,
                                    "travelTimeInSeconds": 387,
                                    "trafficDelayInSeconds": 0,
                                    "departureTime": "2018-07-17T00:49:56+00:00",
                                    "arrivalTime": "2018-07-17T00:56:22+00:00"
                                },
                                "points": [
                                    {
                                        "latitude": 47.62094,
                                        "longitude": -122.34892
                                    },
                                    {
                                        "latitude": 47.62094,
                                        "longitude": -122.3485
                                    },
                                    {
                                        "latitude": 47.62095,
                                        "longitude": -122.3476
                                    }
                                ]
                            }
                        ],
                        "sections": [
                            {
                                "startPointIndex": 0,
                                "endPointIndex": 40,
                                "sectionType": "TRAVEL_MODE",
                                "travelMode": "bicycle"
                            }
                        ]
                    }
                ]
            }
        },
        {
            "statusCode": 400,
            "response":
            {
                "error":
                {
                    "code": "400 BadRequest",
                    "message": "Bad request: one or more parameters were incorrectly specified or are mutually exclusive."
                }
            }
        }
    ]
}
post(RouteRequestRouteDirectionsBatchParameters)

Post Route Directions Batch API 是 HTTP POST 要求,會使用單一異步要求,將查詢批次傳送至 取得路由指示 API。 您可以呼叫 Route Directions Batch API,以異步方式執行 (async) 或同步執行 (sync)。 異步 API 可讓呼叫者批處理最多 700 700 個 查詢,並將 API 同步處理至 100 個 查詢 。 若要在同步要求中呼叫 Post Route Directions Batch API,請參閱 後路由指示批次同步處理

提交異步批次要求

異步 API 適用於處理大量相對複雜的路由要求

  • 它允許在不同的呼叫中擷取結果(可能有多個下載專案)。
  • 異步 API 已針對可靠性進行優化,預計不會遇到逾時。
  • 此 API 的批次項目數目限制為 700

當您使用異步要求提出要求時,服務預設會在響應標頭的 [位置] 字段中傳回 202 回應碼以及重新導向 URL。 應該定期檢查此 URL,直到響應資料或錯誤資訊可用為止。 異步回應會儲存 24 小時。 如果到期期間之後使用,重新導向 URL 會傳回 404 回應。

請注意,異步批次要求是長時間執行的作業。 以下是一般作業順序:

  1. 用戶端會將路線指示批次 POST 要求傳送至 Azure 地圖服務。
POST https://atlas.microsoft.com/route/directions/batch/json?api-version=1.0&subscription-key={subscription-key}
  1. 伺服器會以下欄其中一項回應:

    HTTP 202 Accepted - 已接受 Batch 要求。

    HTTP Error - 處理 Batch 要求時發生錯誤。 這可能是 400 Bad Request 或任何其他 Error 狀態代碼。

  2. 如果成功接受批次要求,回應中的 Location 標頭會包含下載批次要求結果的 URL。 此狀態 URI 如下所示:

GET https://atlas.microsoft.com/route/directions/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}
  1. 用戶端會在步驟 3 中取得 GET 發出 要求,以下載批次結果。

批次要求的 POST 本文

若要在查詢 傳送 路由指示,您將使用 要求,其中要求本文會以 格式包含 陣列,且 標頭會設定為 。 以下是包含 3 個 路由指示 查詢的範例要求本文:

{
    "batchItems": [
        { "query": "?query=47.620659,-122.348934:47.610101,-122.342015&travelMode=bicycle&routeType=eco&traffic=false" },
        { "query": "?query=40.759856,-73.985108:40.771136,-73.973506&travelMode=pedestrian&routeType=shortest" },
        { "query": "?query=48.923159,-122.557362:32.621279,-116.840362" }
    ]
}

批次中 查詢 路由指示只是部分 URL ,而不需要 通訊協定、基底 URL、路徑、api-version 和 subscription-key。 它可以接受任何支援的 路由指示,URI 參數路由方向中的字串值 查詢必須正確逸出(例如,“字元應該使用 \ 逸出),而且也應該正確編碼 URL。

異步 API 可讓呼叫者將最多 700 個 查詢批處理,並將 API 同步處理至最多 100 100 個 查詢,批次至少應包含 1 個 查詢。

下載異步批次結果

若要下載異步批次結果,您將向批次下載端點發出 GET 要求。 此 下載 URL 可以從成功 Location 批次要求的 POST 標頭取得,如下所示:

https://atlas.microsoft.com/route/directions/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}

以下是下載批次結果的一般作業順序:

  1. 用戶端會使用 GET傳送 要求。

  2. 伺服器會以下欄其中一項回應:

    HTTP 202 Accepted - 已接受 Batch 要求,但仍正在處理中。 請稍後再試一次。

    HTTP 200 OK - 已成功處理批次要求。 回應本文包含所有批次結果。

批次回應模型

傳回的數據內容類似於異步和同步處理要求。 下載異步批次要求的結果時,如果批次已完成處理,響應主體就會包含批次回應。 此批次回應包含 summary 元件,指出屬於原始批次要求一部分的 totalRequests,以及成功執行的查詢 successfulRequests。 批次回應也包含 batchItems 數位列,其中包含批次要求中每個查詢的回應。 batchItems 會以與批次要求中傳送原始查詢完全相同的順序來包含結果。 batchItems 中的每個專案都包含 statusCoderesponse 欄位。 response 中的每個 batchItems 都是下列其中一種類型:

  • RouteDirections - 如果查詢成功完成。

  • Error - 如果查詢失敗。 在此案例中,回應會包含 codemessage

以下是 1 個成功 和 1 失敗 結果的批次回應範例:

{
    "summary": {
        "successfulRequests": 1,
        "totalRequests": 2
    },
    "batchItems": [
        {
            "statusCode": 200,
            "response": {
                "routes": [
                    {
                        "summary": {
                            "lengthInMeters": 1758,
                            "travelTimeInSeconds": 387,
                            "trafficDelayInSeconds": 0,
                            "departureTime": "2018-07-17T00:49:56+00:00",
                            "arrivalTime": "2018-07-17T00:56:22+00:00"
                        },
                        "legs": [
                            {
                                "summary": {
                                    "lengthInMeters": 1758,
                                    "travelTimeInSeconds": 387,
                                    "trafficDelayInSeconds": 0,
                                    "departureTime": "2018-07-17T00:49:56+00:00",
                                    "arrivalTime": "2018-07-17T00:56:22+00:00"
                                },
                                "points": [
                                    {
                                        "latitude": 47.62094,
                                        "longitude": -122.34892
                                    },
                                    {
                                        "latitude": 47.62094,
                                        "longitude": -122.3485
                                    },
                                    {
                                        "latitude": 47.62095,
                                        "longitude": -122.3476
                                    }
                                ]
                            }
                        ],
                        "sections": [
                            {
                                "startPointIndex": 0,
                                "endPointIndex": 40,
                                "sectionType": "TRAVEL_MODE",
                                "travelMode": "bicycle"
                            }
                        ]
                    }
                ]
            }
        },
        {
            "statusCode": 400,
            "response":
            {
                "error":
                {
                    "code": "400 BadRequest",
                    "message": "Bad request: one or more parameters were incorrectly specified or are mutually exclusive."
                }
            }
        }
    ]
}

方法詳細資料

get(RequestParameters)

Get Route Directions Batch API 是 HTTP GET 要求,會使用單一要求將查詢批次傳送至 取得路由指示 API。 您可以呼叫 Get Route Directions Batch API,以異步方式執行 (async) 或同步執行 (sync)。 異步 API 可讓呼叫者批處理最多 700 700 個 查詢,並將 API 同步處理至 100 個 查詢

下載異步批次結果

若要下載異步批次結果,您將向批次下載端點發出 GET 要求。 此 下載 URL 可以從成功 Location 批次要求的 POST 標頭取得,如下所示:

https://atlas.microsoft.com/route/directions/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}

以下是下載批次結果的一般作業順序:

  1. 用戶端會使用 GET傳送 要求。

  2. 伺服器會以下欄其中一項回應:

    HTTP 202 Accepted - 已接受 Batch 要求,但仍正在處理中。 請稍後再試一次。

    HTTP 200 OK - 已成功處理批次要求。 回應本文包含所有批次結果。

批次回應模型

傳回的數據內容類似於異步和同步處理要求。 下載異步批次要求的結果時,如果批次已完成處理,響應主體就會包含批次回應。 此批次回應包含 summary 元件,指出屬於原始批次要求一部分的 totalRequests,以及成功執行的查詢 successfulRequests。 批次回應也包含 batchItems 數位列,其中包含批次要求中每個查詢的回應。 batchItems 會以與批次要求中傳送原始查詢完全相同的順序來包含結果。 batchItems 中的每個專案都包含 statusCoderesponse 欄位。 response 中的每個 batchItems 都是下列其中一種類型:

  • RouteDirections - 如果查詢成功完成。

  • Error - 如果查詢失敗。 在此案例中,回應會包含 codemessage

以下是 1 個成功 和 1 失敗 結果的批次回應範例:

{
    "summary": {
        "successfulRequests": 1,
        "totalRequests": 2
    },
    "batchItems": [
        {
            "statusCode": 200,
            "response": {
                "routes": [
                    {
                        "summary": {
                            "lengthInMeters": 1758,
                            "travelTimeInSeconds": 387,
                            "trafficDelayInSeconds": 0,
                            "departureTime": "2018-07-17T00:49:56+00:00",
                            "arrivalTime": "2018-07-17T00:56:22+00:00"
                        },
                        "legs": [
                            {
                                "summary": {
                                    "lengthInMeters": 1758,
                                    "travelTimeInSeconds": 387,
                                    "trafficDelayInSeconds": 0,
                                    "departureTime": "2018-07-17T00:49:56+00:00",
                                    "arrivalTime": "2018-07-17T00:56:22+00:00"
                                },
                                "points": [
                                    {
                                        "latitude": 47.62094,
                                        "longitude": -122.34892
                                    },
                                    {
                                        "latitude": 47.62094,
                                        "longitude": -122.3485
                                    },
                                    {
                                        "latitude": 47.62095,
                                        "longitude": -122.3476
                                    }
                                ]
                            }
                        ],
                        "sections": [
                            {
                                "startPointIndex": 0,
                                "endPointIndex": 40,
                                "sectionType": "TRAVEL_MODE",
                                "travelMode": "bicycle"
                            }
                        ]
                    }
                ]
            }
        },
        {
            "statusCode": 400,
            "response":
            {
                "error":
                {
                    "code": "400 BadRequest",
                    "message": "Bad request: one or more parameters were incorrectly specified or are mutually exclusive."
                }
            }
        }
    ]
}
function get(options?: RequestParameters): StreamableMethod<RouteGetRouteDirectionsBatch200Response | RouteGetRouteDirectionsBatch202Response>

參數

傳回

post(RouteRequestRouteDirectionsBatchParameters)

Post Route Directions Batch API 是 HTTP POST 要求,會使用單一異步要求,將查詢批次傳送至 取得路由指示 API。 您可以呼叫 Route Directions Batch API,以異步方式執行 (async) 或同步執行 (sync)。 異步 API 可讓呼叫者批處理最多 700 700 個 查詢,並將 API 同步處理至 100 個 查詢 。 若要在同步要求中呼叫 Post Route Directions Batch API,請參閱 後路由指示批次同步處理

提交異步批次要求

異步 API 適用於處理大量相對複雜的路由要求

  • 它允許在不同的呼叫中擷取結果(可能有多個下載專案)。
  • 異步 API 已針對可靠性進行優化,預計不會遇到逾時。
  • 此 API 的批次項目數目限制為 700

當您使用異步要求提出要求時,服務預設會在響應標頭的 [位置] 字段中傳回 202 回應碼以及重新導向 URL。 應該定期檢查此 URL,直到響應資料或錯誤資訊可用為止。 異步回應會儲存 24 小時。 如果到期期間之後使用,重新導向 URL 會傳回 404 回應。

請注意,異步批次要求是長時間執行的作業。 以下是一般作業順序:

  1. 用戶端會將路線指示批次 POST 要求傳送至 Azure 地圖服務。
POST https://atlas.microsoft.com/route/directions/batch/json?api-version=1.0&subscription-key={subscription-key}
  1. 伺服器會以下欄其中一項回應:

    HTTP 202 Accepted - 已接受 Batch 要求。

    HTTP Error - 處理 Batch 要求時發生錯誤。 這可能是 400 Bad Request 或任何其他 Error 狀態代碼。

  2. 如果成功接受批次要求,回應中的 Location 標頭會包含下載批次要求結果的 URL。 此狀態 URI 如下所示:

GET https://atlas.microsoft.com/route/directions/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}
  1. 用戶端會在步驟 3 中取得 GET 發出 要求,以下載批次結果。

批次要求的 POST 本文

若要在查詢 傳送 路由指示,您將使用 要求,其中要求本文會以 格式包含 陣列,且 標頭會設定為 。 以下是包含 3 個 路由指示 查詢的範例要求本文:

{
    "batchItems": [
        { "query": "?query=47.620659,-122.348934:47.610101,-122.342015&travelMode=bicycle&routeType=eco&traffic=false" },
        { "query": "?query=40.759856,-73.985108:40.771136,-73.973506&travelMode=pedestrian&routeType=shortest" },
        { "query": "?query=48.923159,-122.557362:32.621279,-116.840362" }
    ]
}

批次中 查詢 路由指示只是部分 URL ,而不需要 通訊協定、基底 URL、路徑、api-version 和 subscription-key。 它可以接受任何支援的 路由指示,URI 參數路由方向中的字串值 查詢必須正確逸出(例如,“字元應該使用 \ 逸出),而且也應該正確編碼 URL。

異步 API 可讓呼叫者將最多 700 個 查詢批處理,並將 API 同步處理至最多 100 100 個 查詢,批次至少應包含 1 個 查詢。

下載異步批次結果

若要下載異步批次結果,您將向批次下載端點發出 GET 要求。 此 下載 URL 可以從成功 Location 批次要求的 POST 標頭取得,如下所示:

https://atlas.microsoft.com/route/directions/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}

以下是下載批次結果的一般作業順序:

  1. 用戶端會使用 GET傳送 要求。

  2. 伺服器會以下欄其中一項回應:

    HTTP 202 Accepted - 已接受 Batch 要求,但仍正在處理中。 請稍後再試一次。

    HTTP 200 OK - 已成功處理批次要求。 回應本文包含所有批次結果。

批次回應模型

傳回的數據內容類似於異步和同步處理要求。 下載異步批次要求的結果時,如果批次已完成處理,響應主體就會包含批次回應。 此批次回應包含 summary 元件,指出屬於原始批次要求一部分的 totalRequests,以及成功執行的查詢 successfulRequests。 批次回應也包含 batchItems 數位列,其中包含批次要求中每個查詢的回應。 batchItems 會以與批次要求中傳送原始查詢完全相同的順序來包含結果。 batchItems 中的每個專案都包含 statusCoderesponse 欄位。 response 中的每個 batchItems 都是下列其中一種類型:

  • RouteDirections - 如果查詢成功完成。

  • Error - 如果查詢失敗。 在此案例中,回應會包含 codemessage

以下是 1 個成功 和 1 失敗 結果的批次回應範例:

{
    "summary": {
        "successfulRequests": 1,
        "totalRequests": 2
    },
    "batchItems": [
        {
            "statusCode": 200,
            "response": {
                "routes": [
                    {
                        "summary": {
                            "lengthInMeters": 1758,
                            "travelTimeInSeconds": 387,
                            "trafficDelayInSeconds": 0,
                            "departureTime": "2018-07-17T00:49:56+00:00",
                            "arrivalTime": "2018-07-17T00:56:22+00:00"
                        },
                        "legs": [
                            {
                                "summary": {
                                    "lengthInMeters": 1758,
                                    "travelTimeInSeconds": 387,
                                    "trafficDelayInSeconds": 0,
                                    "departureTime": "2018-07-17T00:49:56+00:00",
                                    "arrivalTime": "2018-07-17T00:56:22+00:00"
                                },
                                "points": [
                                    {
                                        "latitude": 47.62094,
                                        "longitude": -122.34892
                                    },
                                    {
                                        "latitude": 47.62094,
                                        "longitude": -122.3485
                                    },
                                    {
                                        "latitude": 47.62095,
                                        "longitude": -122.3476
                                    }
                                ]
                            }
                        ],
                        "sections": [
                            {
                                "startPointIndex": 0,
                                "endPointIndex": 40,
                                "sectionType": "TRAVEL_MODE",
                                "travelMode": "bicycle"
                            }
                        ]
                    }
                ]
            }
        },
        {
            "statusCode": 400,
            "response":
            {
                "error":
                {
                    "code": "400 BadRequest",
                    "message": "Bad request: one or more parameters were incorrectly specified or are mutually exclusive."
                }
            }
        }
    ]
}
function post(options: RouteRequestRouteDirectionsBatchParameters): StreamableMethod<RouteRequestRouteDirectionsBatch200Response | RouteRequestRouteDirectionsBatch202Response>

參數

傳回