你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

@azure-rest/maps-route package

接口

BatchRequest

此类型表示 Batch 服务的请求正文。

BatchRequestItem

Batch 请求对象

BatchResultItemOutput

从 Batch API 返回的项。 使用“response”属性进行扩展。

BatchResultOutput

此对象是从成功的 Batch 服务调用返回的。 使用“batchItems”属性进行扩展。

BatchResultSummaryOutput

批处理请求结果摘要

EffectiveSettingOutput

调用此路由 API 时使用的有效参数或数据。

ErrorDetailOutput

错误详细信息。

ErrorResponseOutput

所有 Azure 资源管理器 API 的常见错误响应,以返回失败操作的错误详细信息。 (这也遵循 OData 错误响应格式)。

GeoJsonFeature

有效的 GeoJSON Feature 对象类型。 有关详细信息,请参阅 RFC 7946

GeoJsonFeatureCollection

有效的 GeoJSON FeatureCollection 对象类型。 有关详细信息,请参阅 RFC 7946

GeoJsonFeatureCollectionData
GeoJsonFeatureData
GeoJsonGeometryCollection

有效的 GeoJSON GeometryCollection 对象类型。 有关详细信息,请参阅 RFC 7946

GeoJsonGeometryCollectionData
GeoJsonGeometryParent

有效的 GeoJSON 几何图形对象。 该类型必须是七种有效的 GeoJSON 几何类型之一 - Point、MultiPoint、LineString、MultiLineString、Polygon、MultiPolygon 和 GeometryCollection。 有关详细信息,请参阅 RFC 7946

GeoJsonLineString

有效的 GeoJSON LineString 几何图形类型。 有关详细信息,请参阅 RFC 7946

GeoJsonLineStringData
GeoJsonMultiLineString

有效的 GeoJSON MultiLineString 几何图形类型。 有关详细信息,请参阅 RFC 7946

GeoJsonMultiLineStringData
GeoJsonMultiPoint

有效的 GeoJSON MultiPoint 几何图形类型。 有关详细信息,请参阅 RFC 7946

GeoJsonMultiPointData

GeoJson MultiPoint包含的数据。

GeoJsonMultiPolygon

有效的 GeoJSON MultiPolygon 对象类型。 有关详细信息,请参阅 RFC 7946

GeoJsonMultiPolygonData
GeoJsonObjectParent

有效的 GeoJSON 对象。 有关详细信息,请参阅 RFC 7946

GeoJsonPoint

有效的 GeoJSON Point 几何图形类型。 有关详细信息,请参阅 RFC 7946

GeoJsonPointData

GeoJson Point包含的数据。

GeoJsonPolygon

有效的 GeoJSON Polygon 几何图形类型。 有关详细信息,请参阅 RFC 7946

GeoJsonPolygonData
GetRouteDirections
GetRouteRange
LatLongPairOutput

表示为纬度和经度的位置。

MapsRouteClientOptions

客户端的可选参数

RequestRouteDirectionsBatch
RequestRouteDirectionsBatchSync
RequestRouteMatrix
RequestRouteMatrixSync
RouteDirectionParameters

发布路线路线的正文参数。

RouteDirectionsBatchItemOutput

从路由方向批处理服务调用返回的项。

RouteDirectionsBatchItemResponseOutput

查询的结果。 如果查询成功完成,则 RouteDirections;否则为 ErrorResponse。

RouteDirectionsBatchResultOutput

此对象是从成功的路由方向批处理服务调用返回的。

RouteDirectionsOutput

此对象是从成功的路线方向调用返回的

RouteGetRouteDirections200Response

Get Route Directions API 是一个 HTTP GET 请求,它返回源和目标之间的路由,如果指定,则通过路点传递。 该路线考虑了当前交通和一周中所需时间的典型道路速度等因素。

返回的信息包括距离、估计行程时间和路线几何图形的表示形式。 还可以使用其他路由信息,例如优化的路点顺序或轮次指令,具体取决于所选的选项。

路由服务提供了一组参数,用于详细说明特定于车辆的消耗模型。 有关详细信息,请参阅 消耗模型

RouteGetRouteDirectionsBatch200Response

Get Route Directions Batch API 是一个 HTTP GET 请求,它使用单个请求将查询批处理发送到 获取路由方向 API。 可以调用 Get Route Directions Batch API 以异步(异步)或同步(同步)运行。 异步 API 允许调用方对多达 700 个 查询进行批处理,并将 API 同步到 100 个 查询。

下载异步批处理结果

若要下载异步批处理结果,将向批处理下载终结点发出 GET 请求。 可以从成功 批处理请求的 Location 标头获取此 POST URL,如下所示:

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

下面是一个示例 Batch 响应,其中 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."
                }
            }
        }
    ]
}
RouteGetRouteDirectionsBatch202Headers
RouteGetRouteDirectionsBatch202Response

Get Route Directions Batch API 是一个 HTTP GET 请求,它使用单个请求将查询批处理发送到 获取路由方向 API。 可以调用 Get Route Directions Batch API 以异步(异步)或同步(同步)运行。 异步 API 允许调用方对多达 700 个 查询进行批处理,并将 API 同步到 100 个 查询。

下载异步批处理结果

若要下载异步批处理结果,将向批处理下载终结点发出 GET 请求。 可以从成功 批处理请求的 Location 标头获取此 POST URL,如下所示:

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

下面是一个示例 Batch 响应,其中 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."
                }
            }
        }
    ]
}
RouteGetRouteDirectionsDefaultResponse

Get Route Directions API 是一个 HTTP GET 请求,它返回源和目标之间的路由,如果指定,则通过路点传递。 该路线考虑了当前交通和一周中所需时间的典型道路速度等因素。

返回的信息包括距离、估计行程时间和路线几何图形的表示形式。 还可以使用其他路由信息,例如优化的路点顺序或轮次指令,具体取决于所选的选项。

路由服务提供了一组参数,用于详细说明特定于车辆的消耗模型。 有关详细信息,请参阅 消耗模型

RouteGetRouteDirectionsQueryParam
RouteGetRouteDirectionsQueryParamProperties
RouteGetRouteDirectionsWithAdditionalParameters200Response

Post Route Directions API 是一个 HTTP POST 请求,它返回源和目标之间的路由,如果指定了路由,则通过路点传递。 该路线将考虑当前交通和典型道路速度等因素,即一周中请求的一天和一天中的时间。

返回的信息包括距离、估计行程时间和路线几何图形的表示形式。 还可以使用其他路由信息,例如优化的路点顺序或轮次指令,具体取决于所选的选项。

路由服务提供了一组参数,用于详细说明特定于车辆的消耗模型。 请查看 消耗模型,详细了解所涉及的概念和参数。

RouteGetRouteDirectionsWithAdditionalParametersBodyParam
RouteGetRouteDirectionsWithAdditionalParametersDefaultResponse

Post Route Directions API 是一个 HTTP POST 请求,它返回源和目标之间的路由,如果指定了路由,则通过路点传递。 该路线将考虑当前交通和典型道路速度等因素,即一周中请求的一天和一天中的时间。

返回的信息包括距离、估计行程时间和路线几何图形的表示形式。 还可以使用其他路由信息,例如优化的路点顺序或轮次指令,具体取决于所选的选项。

路由服务提供了一组参数,用于详细说明特定于车辆的消耗模型。 请查看 消耗模型,详细了解所涉及的概念和参数。

RouteGetRouteDirectionsWithAdditionalParametersMediaTypesParam
RouteGetRouteDirectionsWithAdditionalParametersQueryParam
RouteGetRouteDirectionsWithAdditionalParametersQueryParamProperties
RouteGetRouteMatrix200Response

Get Route Matrix API 是一个 HTTP GET 请求,用于计算出发地和目的地列表中所有可能对的行程时间和距离。 与 获取路线方向 API 不同,此 API 通过提供从每个源到每个目的地的路由成本(行程时间和距离)来注重效率。 有关详细信息,请参阅 azure Maps 路线服务最佳做法。

对于每个给定源,服务将计算从该源路由到每个给定目标的成本。 可以将源集和目标集视为表的列和行标题,表中每个单元格都包含从源路由到该单元格的目标的成本。 例如,假设一家食品送货公司有 20 名司机,他们需要找到最接近的司机从餐厅拿起送货。 若要解决此用例,可以调用矩阵路由 API。

对于每个路线,将返回行程时间和距离。 可以使用计算成本来确定使用路线方向 API 计算哪些详细路由。

异步请求矩阵的最大大小为 700,对于同步请求,100(源数乘以目标数)。

提交同步路由矩阵请求

如果你的方案需要同步请求,并且矩阵的最大大小小于或等于 100,则可能需要发出同步请求。 此 API 的矩阵的最大大小为 100(原点数乘以目标数)。 考虑到该约束,可能的矩阵维度的示例包括:10x10、6x8、9x8(不需要正方形)。

GET https://atlas.microsoft.com/route/matrix/sync/json?api-version=1.0&subscription-key={subscription-key}

提交异步路由矩阵请求

异步 API 适用于处理大量相对复杂的路由请求。 使用异步请求发出请求时,默认情况下,服务会返回响应标头的“位置”字段中的重定向 URL 的 202 响应代码。 应定期检查此 URL,直到响应数据或错误信息可用。 如果请求中的 waitForResults 参数设置为 true,则如果在 120 秒内完成请求,用户将收到 200 响应。

此 API 的矩阵的最大大小 700(原点数乘以目标数)。 考虑到该约束,可能的矩阵维度的示例包括:50x10、10x10、28x25。 10x70 (不需要正方形)。

异步响应的存储时间为 24 小时 。 重定向 URL 返回 404 响应(如果在到期期限后使用)。

GET https://atlas.microsoft.com/route/matrix/json?api-version=1.0&subscription-key={subscription-key}

下面是一系列典型的异步操作:

  1. 客户端向 Azure Maps 发送路由矩阵 GET 请求

  2. 服务器将使用以下项之一进行响应:

    HTTP 202 Accepted - 已接受路由矩阵请求。

    HTTP Error - 处理路由矩阵请求时出错。 这可能是 400 错误请求或任何其他错误状态代码。

  3. 如果已成功接受矩阵路由请求,则响应中的 Location 标头包含用于下载请求结果的 URL。 此状态 URI 如下所示:

  GET https://atlas.microsoft.com/route/matrix/{matrixId}?api-version=1.0?subscription-key={subscription-key}
  1. 客户端在步骤 3 中获取的下载 URL 上发出 GET 请求以下载结果

下载同步结果

为路由矩阵同步 API 发出 GET 请求时,服务将返回 200 响应代码以获取成功的请求和响应数组。 响应正文将包含数据,并且以后无法检索结果。

下载异步结果

当请求发出 202 Accepted 响应时,将使用异步管道处理请求。 系统会提供一个 URL,用于在响应的位置标头中检查异步请求的进度。 此状态 URI 如下所示:

  GET https://atlas.microsoft.com/route/matrix/{matrixId}?api-version=1.0?subscription-key={subscription-key}

当发出 GET 请求时,位置标头提供的 URL 将返回以下响应。

HTTP 202 Accepted - 已接受矩阵请求,但仍正在处理。 请在一段时间后重试。

HTTP 200 OK - 已成功处理矩阵请求。 响应正文包含所有结果。

RouteGetRouteMatrix202Headers
RouteGetRouteMatrix202Response

Get Route Matrix API 是一个 HTTP GET 请求,用于计算出发地和目的地列表中所有可能对的行程时间和距离。 与 获取路线方向 API 不同,此 API 通过提供从每个源到每个目的地的路由成本(行程时间和距离)来注重效率。 有关详细信息,请参阅 azure Maps 路线服务最佳做法。

对于每个给定源,服务将计算从该源路由到每个给定目标的成本。 可以将源集和目标集视为表的列和行标题,表中每个单元格都包含从源路由到该单元格的目标的成本。 例如,假设一家食品送货公司有 20 名司机,他们需要找到最接近的司机从餐厅拿起送货。 若要解决此用例,可以调用矩阵路由 API。

对于每个路线,将返回行程时间和距离。 可以使用计算成本来确定使用路线方向 API 计算哪些详细路由。

异步请求矩阵的最大大小为 700,对于同步请求,100(源数乘以目标数)。

提交同步路由矩阵请求

如果你的方案需要同步请求,并且矩阵的最大大小小于或等于 100,则可能需要发出同步请求。 此 API 的矩阵的最大大小为 100(原点数乘以目标数)。 考虑到该约束,可能的矩阵维度的示例包括:10x10、6x8、9x8(不需要正方形)。

GET https://atlas.microsoft.com/route/matrix/sync/json?api-version=1.0&subscription-key={subscription-key}

提交异步路由矩阵请求

异步 API 适用于处理大量相对复杂的路由请求。 使用异步请求发出请求时,默认情况下,服务会返回响应标头的“位置”字段中的重定向 URL 的 202 响应代码。 应定期检查此 URL,直到响应数据或错误信息可用。 如果请求中的 waitForResults 参数设置为 true,则如果在 120 秒内完成请求,用户将收到 200 响应。

此 API 的矩阵的最大大小 700(原点数乘以目标数)。 考虑到该约束,可能的矩阵维度的示例包括:50x10、10x10、28x25。 10x70 (不需要正方形)。

异步响应的存储时间为 24 小时 。 重定向 URL 返回 404 响应(如果在到期期限后使用)。

GET https://atlas.microsoft.com/route/matrix/json?api-version=1.0&subscription-key={subscription-key}

下面是一系列典型的异步操作:

  1. 客户端向 Azure Maps 发送路由矩阵 GET 请求

  2. 服务器将使用以下项之一进行响应:

    HTTP 202 Accepted - 已接受路由矩阵请求。

    HTTP Error - 处理路由矩阵请求时出错。 这可能是 400 错误请求或任何其他错误状态代码。

  3. 如果已成功接受矩阵路由请求,则响应中的 Location 标头包含用于下载请求结果的 URL。 此状态 URI 如下所示:

  GET https://atlas.microsoft.com/route/matrix/{matrixId}?api-version=1.0?subscription-key={subscription-key}
  1. 客户端在步骤 3 中获取的下载 URL 上发出 GET 请求以下载结果

下载同步结果

为路由矩阵同步 API 发出 GET 请求时,服务将返回 200 响应代码以获取成功的请求和响应数组。 响应正文将包含数据,并且以后无法检索结果。

下载异步结果

当请求发出 202 Accepted 响应时,将使用异步管道处理请求。 系统会提供一个 URL,用于在响应的位置标头中检查异步请求的进度。 此状态 URI 如下所示:

  GET https://atlas.microsoft.com/route/matrix/{matrixId}?api-version=1.0?subscription-key={subscription-key}

当发出 GET 请求时,位置标头提供的 URL 将返回以下响应。

HTTP 202 Accepted - 已接受矩阵请求,但仍正在处理。 请在一段时间后重试。

HTTP 200 OK - 已成功处理矩阵请求。 响应正文包含所有结果。

RouteGetRouteRange200Response

Get Route Range (Isochrone) API 是一个 HTTP GET 请求,它将根据指定的燃料、能源、时间或距离预算计算一组可从原点到达的位置。 多边形边界(或 Isochrone)以逆时针方向返回,以及作为原点结果的精确多边形中心。

返回的多边形可用于进一步处理,例如 “在几何图形内搜索” 来搜索提供的时序中的 PO。

RouteGetRouteRangeDefaultResponse

Get Route Range (Isochrone) API 是一个 HTTP GET 请求,它将根据指定的燃料、能源、时间或距离预算计算一组可从原点到达的位置。 多边形边界(或 Isochrone)以逆时针方向返回,以及作为原点结果的精确多边形中心。

返回的多边形可用于进一步处理,例如 “在几何图形内搜索” 来搜索提供的时序中的 PO。

RouteGetRouteRangeQueryParam
RouteGetRouteRangeQueryParamProperties
RouteGuidanceOutput

包含与指南相关的元素。 仅当请求指导且可用时,才会显示此字段。

RouteInstructionGroupOutput

对相互相关的指令元素序列进行分组。 序列范围受 firstInstructionIndex 和 lastInstructionIndex 约束。 当请求人工可读的短信以获取指导(instructionType=text 或标记),则 instructionGroup 将返回一条摘要消息(如果可用)。

RouteInstructionOutput

描述操纵的一组属性,例如“向右转”、“保持左转”、“乘坐渡轮”、“乘坐高速公路”、“到达”。

RouteLegOutput

路线的一部分的说明,由点列表组成。 请求中提供的每个附加航点将导致返回的路线中附加一条腿。

RouteMatrixOutput

矩阵结果对象

RouteMatrixQuery

具有坐标矩阵的对象。

RouteMatrixResultOutput

此对象是从成功的路由矩阵调用返回的。 例如,如果提供了 2 个源和 3 个目标,则每个数组有 3 个元素。 每个元素的内容取决于查询中提供的选项。

RouteMatrixResultResponseOutput

输入矩阵中当前单元格的响应对象。

RouteMatrixSummaryOutput

Summary 对象

RouteOptimizedWaypointOutput

优化的方式点对象。

RouteOutput
RouteRangeOutput

可访问范围

RouteRangeResultOutput

此对象是从成功的路由可访问范围调用返回的

RouteReportOutput

报告当前调用中使用的有效设置。

RouteRequestRouteDirectionsBatch200Response

Post Route Directions Batch API 是一个 HTTP POST 请求,它使用单个异步请求将查询批处理发送到 获取路由方向 API。 可以调用 Route Directions Batch API 以异步(异步)或同步(同步)运行。 异步 API 允许调用方对多达 700 个 查询进行批处理,并将 API 同步到 100 个 查询。 若要在同步请求中调用 Post Route Directions Batch API,请参阅 路由方向批处理同步

提交异步批处理请求

异步 API 适用于处理大量相对复杂的路由请求

  • 它允许在单独的调用中检索结果(可能有多个下载)。
  • 异步 API 针对可靠性进行优化,预计不会遇到超时。
  • 此 API 的批项数限制为 700

使用异步请求发出请求时,默认情况下,服务会返回响应标头的“位置”字段中的重定向 URL 的 202 响应代码。 应定期检查此 URL,直到响应数据或错误信息可用。 异步响应的存储时间为 24 小时 。 重定向 URL 返回 404 响应(如果在到期期限后使用)。

请注意,异步批处理请求是长时间运行的操作。 下面是一系列典型的操作:

  1. 客户端向 Azure Maps 发送路由方向批处理 POST 请求。
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. 客户端在 GET 步骤 3 中发出 请求来下载批处理结果。

批处理请求的 POST 正文

若要发送 路由方向 查询,将使用 POST 请求,其中请求正文将包含 batchItems 格式的 json 数组,Content-Type 标头将设置为 application/json。 下面是一个示例请求正文,其中包含 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 版本和订阅密钥。 它可以接受任何受支持的 路由方向URI 参数路由方向中的字符串值 查询必须正确转义(例如“字符应使用 \ 进行转义),并且还应正确编码 URL。

异步 API 允许调用方对多达 700 个 查询进行批处理,并同步 API 最多 100 个 查询,批处理应至少包含 1 个 查询。

下载异步批处理结果

若要下载异步批处理结果,将向批处理下载终结点发出 GET 请求。 可以从成功 批处理请求的 Location 标头获取此 POST URL,如下所示:

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

下面是一个示例 Batch 响应,其中 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."
                }
            }
        }
    ]
}
RouteRequestRouteDirectionsBatch202Headers
RouteRequestRouteDirectionsBatch202Response

Post Route Directions Batch API 是一个 HTTP POST 请求,它使用单个异步请求将查询批处理发送到 获取路由方向 API。 可以调用 Route Directions Batch API 以异步(异步)或同步(同步)运行。 异步 API 允许调用方对多达 700 个 查询进行批处理,并将 API 同步到 100 个 查询。 若要在同步请求中调用 Post Route Directions Batch API,请参阅 路由方向批处理同步

提交异步批处理请求

异步 API 适用于处理大量相对复杂的路由请求

  • 它允许在单独的调用中检索结果(可能有多个下载)。
  • 异步 API 针对可靠性进行优化,预计不会遇到超时。
  • 此 API 的批项数限制为 700

使用异步请求发出请求时,默认情况下,服务会返回响应标头的“位置”字段中的重定向 URL 的 202 响应代码。 应定期检查此 URL,直到响应数据或错误信息可用。 异步响应的存储时间为 24 小时 。 重定向 URL 返回 404 响应(如果在到期期限后使用)。

请注意,异步批处理请求是长时间运行的操作。 下面是一系列典型的操作:

  1. 客户端向 Azure Maps 发送路由方向批处理 POST 请求。
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. 客户端在 GET 步骤 3 中发出 请求来下载批处理结果。

批处理请求的 POST 正文

若要发送 路由方向 查询,将使用 POST 请求,其中请求正文将包含 batchItems 格式的 json 数组,Content-Type 标头将设置为 application/json。 下面是一个示例请求正文,其中包含 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 版本和订阅密钥。 它可以接受任何受支持的 路由方向URI 参数路由方向中的字符串值 查询必须正确转义(例如“字符应使用 \ 进行转义),并且还应正确编码 URL。

异步 API 允许调用方对多达 700 个 查询进行批处理,并同步 API 最多 100 个 查询,批处理应至少包含 1 个 查询。

下载异步批处理结果

若要下载异步批处理结果,将向批处理下载终结点发出 GET 请求。 可以从成功 批处理请求的 Location 标头获取此 POST URL,如下所示:

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

下面是一个示例 Batch 响应,其中 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."
                }
            }
        }
    ]
}
RouteRequestRouteDirectionsBatchBodyParam
RouteRequestRouteDirectionsBatchMediaTypesParam
RouteRequestRouteDirectionsBatchSync200Response

Post Route Directions Batch Sync API 是一个 HTTP POST 请求,它使用单个同步请求将查询批处理发送到 获取路由方向 API。 可以调用 Route Directions Batch API 以异步(异步)或同步(同步)运行。 异步 API 允许调用方对多达 700 个 查询进行批处理,并将 API 同步到 100 个 查询。 若要在异步请求中调用 Post Route Directions Batch API,请参阅 Post Route Directions Batch

提交同步批处理请求

建议对轻型批处理请求使用同步 API。 当服务收到请求时,它会在计算批处理项后立即做出响应,并且以后将无法检索结果。 如果请求花费的时间超过 60 秒,同步 API 将返回超时错误(408 响应)。 批项数限制为此 API 100 个

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

批处理响应模型

返回的数据内容与异步和同步请求类似。 下载异步批处理请求的结果时,如果批处理已完成处理,响应正文将包含批处理响应。 此批处理响应包含一个 summary 组件,该组件指示作为原始批处理请求的一部分的 totalRequests,以及成功执行的查询 successfulRequests。 批处理响应还包括一个 batchItems 数组,其中包含批处理请求中每个查询的响应。 batchItems 将包含结果,其顺序与在批处理请求中发送原始查询的顺序完全相同。 batchItems 中的每个项都包含 statusCoderesponse 字段。 response 中的每个 batchItems 都是以下类型之一:

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

  • Error - 如果查询失败。 在这种情况下,响应将包含 codemessage

下面是一个示例 Batch 响应,其中 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."
                }
            }
        }
    ]
}
RouteRequestRouteDirectionsBatchSync408Response

Post Route Directions Batch Sync API 是一个 HTTP POST 请求,它使用单个同步请求将查询批处理发送到 获取路由方向 API。 可以调用 Route Directions Batch API 以异步(异步)或同步(同步)运行。 异步 API 允许调用方对多达 700 个 查询进行批处理,并将 API 同步到 100 个 查询。 若要在异步请求中调用 Post Route Directions Batch API,请参阅 Post Route Directions Batch

提交同步批处理请求

建议对轻型批处理请求使用同步 API。 当服务收到请求时,它会在计算批处理项后立即做出响应,并且以后将无法检索结果。 如果请求花费的时间超过 60 秒,同步 API 将返回超时错误(408 响应)。 批项数限制为此 API 100 个

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

批处理响应模型

返回的数据内容与异步和同步请求类似。 下载异步批处理请求的结果时,如果批处理已完成处理,响应正文将包含批处理响应。 此批处理响应包含一个 summary 组件,该组件指示作为原始批处理请求的一部分的 totalRequests,以及成功执行的查询 successfulRequests。 批处理响应还包括一个 batchItems 数组,其中包含批处理请求中每个查询的响应。 batchItems 将包含结果,其顺序与在批处理请求中发送原始查询的顺序完全相同。 batchItems 中的每个项都包含 statusCoderesponse 字段。 response 中的每个 batchItems 都是以下类型之一:

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

  • Error - 如果查询失败。 在这种情况下,响应将包含 codemessage

下面是一个示例 Batch 响应,其中 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."
                }
            }
        }
    ]
}
RouteRequestRouteDirectionsBatchSyncBodyParam
RouteRequestRouteDirectionsBatchSyncDefaultResponse

Post Route Directions Batch Sync API 是一个 HTTP POST 请求,它使用单个同步请求将查询批处理发送到 获取路由方向 API。 可以调用 Route Directions Batch API 以异步(异步)或同步(同步)运行。 异步 API 允许调用方对多达 700 个 查询进行批处理,并将 API 同步到 100 个 查询。 若要在异步请求中调用 Post Route Directions Batch API,请参阅 Post Route Directions Batch

提交同步批处理请求

建议对轻型批处理请求使用同步 API。 当服务收到请求时,它会在计算批处理项后立即做出响应,并且以后将无法检索结果。 如果请求花费的时间超过 60 秒,同步 API 将返回超时错误(408 响应)。 批项数限制为此 API 100 个

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

批处理响应模型

返回的数据内容与异步和同步请求类似。 下载异步批处理请求的结果时,如果批处理已完成处理,响应正文将包含批处理响应。 此批处理响应包含一个 summary 组件,该组件指示作为原始批处理请求的一部分的 totalRequests,以及成功执行的查询 successfulRequests。 批处理响应还包括一个 batchItems 数组,其中包含批处理请求中每个查询的响应。 batchItems 将包含结果,其顺序与在批处理请求中发送原始查询的顺序完全相同。 batchItems 中的每个项都包含 statusCoderesponse 字段。 response 中的每个 batchItems 都是以下类型之一:

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

  • Error - 如果查询失败。 在这种情况下,响应将包含 codemessage

下面是一个示例 Batch 响应,其中 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."
                }
            }
        }
    ]
}
RouteRequestRouteDirectionsBatchSyncMediaTypesParam
RouteRequestRouteMatrix200Response

Post Route Matrix API 是一个 HTTP POST 请求,它允许使用异步(async)请求计算一组由源位置和目标位置定义的路由摘要矩阵。 若要发出同步(同步)请求,请参阅 后路由矩阵同步。对于每个给定源,服务将计算从该源路由到每个给定目标的成本。 可以将源集和目标集视为表的列和行标题,表中每个单元格都包含从源路由到该单元格的目标的成本。 例如,假设一家食品送货公司有 20 名司机,他们需要找到最接近的司机从餐厅拿起送货。 若要解决此用例,可以调用矩阵路由 API。

对于每个路线,将返回行程时间和距离。 可以使用计算成本来确定使用路线方向 API 计算哪些详细路由。

异步请求矩阵的最大大小为 700,对于同步请求,100(源数乘以目标数)。

注意

所有原点和目的地都应包含在轴对齐的 400 km 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 适用于处理大量相对复杂的路由请求。 使用异步请求发出请求时,默认情况下,服务会返回响应标头的“位置”字段中的重定向 URL 的 202 响应代码。 应定期检查此 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}

下面是一系列典型的异步操作:

  1. 客户端将路由矩阵 POST 请求发送到 Azure Maps

  2. 服务器将使用以下项之一进行响应:

    HTTP 202 Accepted - 已接受路由矩阵请求。

    HTTP Error - 处理路由矩阵请求时出错。 这可能是 400 错误请求或任何其他错误状态代码。

  3. 如果已成功接受矩阵路由请求,则响应中的 Location 标头包含用于下载请求结果的 URL。 此状态 URI 如下所示:

  GET https://atlas.microsoft.com/route/matrix/{matrixId}?api-version=1.0?subscription-key={subscription-key}
  1. 客户端在步骤 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}

当发出 GET 请求时,位置标头提供的 URL 将返回以下响应。

HTTP 202 Accepted - 已接受矩阵请求,但仍正在处理。 请在一段时间后重试。

HTTP 200 OK - 已成功处理矩阵请求。 响应正文包含所有结果。

RouteRequestRouteMatrix202Headers
RouteRequestRouteMatrix202Response

Post Route Matrix API 是一个 HTTP POST 请求,它允许使用异步(async)请求计算一组由源位置和目标位置定义的路由摘要矩阵。 若要发出同步(同步)请求,请参阅 后路由矩阵同步。对于每个给定源,服务将计算从该源路由到每个给定目标的成本。 可以将源集和目标集视为表的列和行标题,表中每个单元格都包含从源路由到该单元格的目标的成本。 例如,假设一家食品送货公司有 20 名司机,他们需要找到最接近的司机从餐厅拿起送货。 若要解决此用例,可以调用矩阵路由 API。

对于每个路线,将返回行程时间和距离。 可以使用计算成本来确定使用路线方向 API 计算哪些详细路由。

异步请求矩阵的最大大小为 700,对于同步请求,100(源数乘以目标数)。

注意

所有原点和目的地都应包含在轴对齐的 400 km 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 适用于处理大量相对复杂的路由请求。 使用异步请求发出请求时,默认情况下,服务会返回响应标头的“位置”字段中的重定向 URL 的 202 响应代码。 应定期检查此 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}

下面是一系列典型的异步操作:

  1. 客户端将路由矩阵 POST 请求发送到 Azure Maps

  2. 服务器将使用以下项之一进行响应:

    HTTP 202 Accepted - 已接受路由矩阵请求。

    HTTP Error - 处理路由矩阵请求时出错。 这可能是 400 错误请求或任何其他错误状态代码。

  3. 如果已成功接受矩阵路由请求,则响应中的 Location 标头包含用于下载请求结果的 URL。 此状态 URI 如下所示:

  GET https://atlas.microsoft.com/route/matrix/{matrixId}?api-version=1.0?subscription-key={subscription-key}
  1. 客户端在步骤 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}

当发出 GET 请求时,位置标头提供的 URL 将返回以下响应。

HTTP 202 Accepted - 已接受矩阵请求,但仍正在处理。 请在一段时间后重试。

HTTP 200 OK - 已成功处理矩阵请求。 响应正文包含所有结果。

RouteRequestRouteMatrixBodyParam
RouteRequestRouteMatrixMediaTypesParam
RouteRequestRouteMatrixQueryParam
RouteRequestRouteMatrixQueryParamProperties
RouteRequestRouteMatrixSync200Response

Post Route Matrix Sync API 是一个 HTTP POST 请求,它允许使用单个同步(同步)请求计算一组源和目标位置定义的路由摘要矩阵。 若要发出异步(异步)请求,请参阅 Post Route Matrix。 对于每个给定源,服务将计算从该源路由到每个给定目标的成本。 可以将源集和目标集视为表的列和行标题,表中每个单元格都包含从源路由到该单元格的目标的成本。 例如,假设一家食品送货公司有 20 名司机,他们需要找到最接近的司机从餐厅拿起送货。 若要解决此用例,可以调用矩阵路由 API。

对于每个路线,将返回行程时间和距离。 可以使用计算成本来确定使用路线方向 API 计算哪些详细路由。

异步请求矩阵的最大大小为 700,对于同步请求,100(源数乘以目标数)。

提交同步路由矩阵请求

如果你的方案需要同步请求,并且矩阵的最大大小小于或等于 100,则可能需要发出同步请求。 此 API 的矩阵的最大大小为 100(原点数乘以目标数)。 考虑到该约束,可能的矩阵维度的示例包括:10x10、6x8、9x8(不需要正方形)。

POST https://atlas.microsoft.com/route/matrix/sync/json?api-version=1.0&subscription-key={subscription-key}

提交异步路由矩阵请求

异步 API 适用于处理大量相对复杂的路由请求。 使用异步请求发出请求时,默认情况下,服务会返回响应标头的“位置”字段中的重定向 URL 的 202 响应代码。 应定期检查此 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}

下面是一系列典型的异步操作:

  1. 客户端将路由矩阵 POST 请求发送到 Azure Maps

  2. 服务器将使用以下项之一进行响应:

    HTTP 202 Accepted - 已接受路由矩阵请求。

    HTTP Error - 处理路由矩阵请求时出错。 这可能是 400 错误请求或任何其他错误状态代码。

  3. 如果已成功接受矩阵路由请求,则响应中的 Location 标头包含用于下载请求结果的 URL。 此状态 URI 如下所示:

  GET https://atlas.microsoft.com/route/matrix/{matrixId}?api-version=1.0?subscription-key={subscription-key}
  1. 客户端在步骤 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}

当发出 GET 请求时,位置标头提供的 URL 将返回以下响应。

HTTP 202 Accepted - 已接受矩阵请求,但仍正在处理。 请在一段时间后重试。

HTTP 200 OK - 已成功处理矩阵请求。 响应正文包含所有结果。

RouteRequestRouteMatrixSync408Response

Post Route Matrix Sync API 是一个 HTTP POST 请求,它允许使用单个同步(同步)请求计算一组源和目标位置定义的路由摘要矩阵。 若要发出异步(异步)请求,请参阅 Post Route Matrix。 对于每个给定源,服务将计算从该源路由到每个给定目标的成本。 可以将源集和目标集视为表的列和行标题,表中每个单元格都包含从源路由到该单元格的目标的成本。 例如,假设一家食品送货公司有 20 名司机,他们需要找到最接近的司机从餐厅拿起送货。 若要解决此用例,可以调用矩阵路由 API。

对于每个路线,将返回行程时间和距离。 可以使用计算成本来确定使用路线方向 API 计算哪些详细路由。

异步请求矩阵的最大大小为 700,对于同步请求,100(源数乘以目标数)。

提交同步路由矩阵请求

如果你的方案需要同步请求,并且矩阵的最大大小小于或等于 100,则可能需要发出同步请求。 此 API 的矩阵的最大大小为 100(原点数乘以目标数)。 考虑到该约束,可能的矩阵维度的示例包括:10x10、6x8、9x8(不需要正方形)。

POST https://atlas.microsoft.com/route/matrix/sync/json?api-version=1.0&subscription-key={subscription-key}

提交异步路由矩阵请求

异步 API 适用于处理大量相对复杂的路由请求。 使用异步请求发出请求时,默认情况下,服务会返回响应标头的“位置”字段中的重定向 URL 的 202 响应代码。 应定期检查此 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}

下面是一系列典型的异步操作:

  1. 客户端将路由矩阵 POST 请求发送到 Azure Maps

  2. 服务器将使用以下项之一进行响应:

    HTTP 202 Accepted - 已接受路由矩阵请求。

    HTTP Error - 处理路由矩阵请求时出错。 这可能是 400 错误请求或任何其他错误状态代码。

  3. 如果已成功接受矩阵路由请求,则响应中的 Location 标头包含用于下载请求结果的 URL。 此状态 URI 如下所示:

  GET https://atlas.microsoft.com/route/matrix/{matrixId}?api-version=1.0?subscription-key={subscription-key}
  1. 客户端在步骤 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}

当发出 GET 请求时,位置标头提供的 URL 将返回以下响应。

HTTP 202 Accepted - 已接受矩阵请求,但仍正在处理。 请在一段时间后重试。

HTTP 200 OK - 已成功处理矩阵请求。 响应正文包含所有结果。

RouteRequestRouteMatrixSyncBodyParam
RouteRequestRouteMatrixSyncDefaultResponse

Post Route Matrix Sync API 是一个 HTTP POST 请求,它允许使用单个同步(同步)请求计算一组源和目标位置定义的路由摘要矩阵。 若要发出异步(异步)请求,请参阅 Post Route Matrix。 对于每个给定源,服务将计算从该源路由到每个给定目标的成本。 可以将源集和目标集视为表的列和行标题,表中每个单元格都包含从源路由到该单元格的目标的成本。 例如,假设一家食品送货公司有 20 名司机,他们需要找到最接近的司机从餐厅拿起送货。 若要解决此用例,可以调用矩阵路由 API。

对于每个路线,将返回行程时间和距离。 可以使用计算成本来确定使用路线方向 API 计算哪些详细路由。

异步请求矩阵的最大大小为 700,对于同步请求,100(源数乘以目标数)。

提交同步路由矩阵请求

如果你的方案需要同步请求,并且矩阵的最大大小小于或等于 100,则可能需要发出同步请求。 此 API 的矩阵的最大大小为 100(原点数乘以目标数)。 考虑到该约束,可能的矩阵维度的示例包括:10x10、6x8、9x8(不需要正方形)。

POST https://atlas.microsoft.com/route/matrix/sync/json?api-version=1.0&subscription-key={subscription-key}

提交异步路由矩阵请求

异步 API 适用于处理大量相对复杂的路由请求。 使用异步请求发出请求时,默认情况下,服务会返回响应标头的“位置”字段中的重定向 URL 的 202 响应代码。 应定期检查此 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}

下面是一系列典型的异步操作:

  1. 客户端将路由矩阵 POST 请求发送到 Azure Maps

  2. 服务器将使用以下项之一进行响应:

    HTTP 202 Accepted - 已接受路由矩阵请求。

    HTTP Error - 处理路由矩阵请求时出错。 这可能是 400 错误请求或任何其他错误状态代码。

  3. 如果已成功接受矩阵路由请求,则响应中的 Location 标头包含用于下载请求结果的 URL。 此状态 URI 如下所示:

  GET https://atlas.microsoft.com/route/matrix/{matrixId}?api-version=1.0?subscription-key={subscription-key}
  1. 客户端在步骤 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}

当发出 GET 请求时,位置标头提供的 URL 将返回以下响应。

HTTP 202 Accepted - 已接受矩阵请求,但仍正在处理。 请在一段时间后重试。

HTTP 200 OK - 已成功处理矩阵请求。 响应正文包含所有结果。

RouteRequestRouteMatrixSyncMediaTypesParam
RouteRequestRouteMatrixSyncQueryParam
RouteRequestRouteMatrixSyncQueryParamProperties
RouteSectionOutput

路由部分包含有关路由部分的其他信息。 每个部分至少包含元素 startPointIndexendPointIndexsectionType

RouteSectionTecCauseOutput

流量事件的原因。 可以包含 mainCauseCode 和 subCauseCode 元素。 可用于定义图标和说明。

RouteSectionTecOutput

流量事件的详细信息,使用 TPEG2-TEC 标准中的定义。 可以包含 effectCode 并导致元素。

RouteSummaryOutput

Summary 对象

Routes
SimplePollerLike

可用于轮询长时间运行的操作的简单轮询程序。

类型别名

GeoJsonGeometry

有效的 GeoJSON 几何图形对象。 该类型必须是七种有效的 GeoJSON 几何类型之一 - Point、MultiPoint、LineString、MultiLineString、Polygon、MultiPolygon 和 GeometryCollection。 有关详细信息,请参阅 RFC 7946

GeoJsonObject

有效的 GeoJSON 对象。 有关详细信息,请参阅 RFC 7946

MapsRouteClient
RouteGetRouteDirectionsBatchParameters
RouteGetRouteDirectionsParameters
RouteGetRouteDirectionsWithAdditionalParametersParameters
RouteGetRouteMatrixParameters
RouteGetRouteRangeParameters
RouteRequestRouteDirectionsBatchParameters
RouteRequestRouteDirectionsBatchSyncParameters
RouteRequestRouteMatrixParameters
RouteRequestRouteMatrixSyncParameters

函数

buildMultiCollection(string[], string)
createRouteDirectionsBatchRequest(RouteGetRouteDirectionsQueryParamProperties[])

创建一组路由方向请求的批处理请求正文。

default(AzureKeyCredential, ClientOptions)

从订阅密钥创建 MapsRouteClient 的实例。

示例

import MapsRoute from "@azure-rest/maps-route";
import { AzureKeyCredential } from "@azure/core-auth";

const credential = new AzureKeyCredential("<subscription-key>");
const client = MapsRoute(credential);
default(TokenCredential, string, ClientOptions)

从 Azure 标识 TokenCredential创建 MapsRoute 实例。

示例

import MapsRoute from "@azure-rest/maps-route";
import { DefaultAzureCredential } from "@azure/identity";

const credential = new DefaultAzureCredential();
const client = MapsRoute(credential, "<maps-account-client-id>");
default(AzureSASCredential, ClientOptions)

从 Azure 标识 AzureSASCredential创建 MapsRoute 实例。

示例

import MapsRoute from "@azure-rest/maps-route";
import { AzureSASCredential } from "@azure/core-auth";

const credential = new AzureSASCredential("<SAS Token>");
const client = MapsRoute(credential);
getLongRunningPoller<TResult>(Client, TResult, CreateHttpPollerOptions<TResult, OperationState<TResult>>)

生成 Poller 对象的帮助程序函数,以帮助轮询长时间运行的操作。

isUnexpected(RouteRequestRouteMatrixSync200Response | RouteRequestRouteMatrixSync408Response | RouteRequestRouteMatrixSyncDefaultResponse)
isUnexpected(RouteGetRouteDirections200Response | RouteGetRouteDirectionsDefaultResponse)
isUnexpected(RouteGetRouteDirectionsWithAdditionalParameters200Response | RouteGetRouteDirectionsWithAdditionalParametersDefaultResponse)
isUnexpected(RouteGetRouteRange200Response | RouteGetRouteRangeDefaultResponse)
isUnexpected(RouteRequestRouteDirectionsBatchSync200Response | RouteRequestRouteDirectionsBatchSync408Response | RouteRequestRouteDirectionsBatchSyncDefaultResponse)
toColonDelimitedLatLonString(LatLon[])

将 [Latitude, Longtitute] 的数组转换为以下格式的字符串:“Latitude_1,Longtitute_1:Latitude_2,Longtitute_2:...”

函数详细信息

buildMultiCollection(string[], string)

function buildMultiCollection(items: string[], parameterName: string): string

参数

items

string[]

parameterName

string

返回

string

createRouteDirectionsBatchRequest(RouteGetRouteDirectionsQueryParamProperties[])

创建一组路由方向请求的批处理请求正文。

function createRouteDirectionsBatchRequest(queryParamProperties: RouteGetRouteDirectionsQueryParamProperties[]): BatchRequest

参数

queryParamProperties

RouteGetRouteDirectionsQueryParamProperties[]

路由方向请求的查询参数的对象

返回

撰写的批处理请求。

default(AzureKeyCredential, ClientOptions)

从订阅密钥创建 MapsRouteClient 的实例。

示例

import MapsRoute from "@azure-rest/maps-route";
import { AzureKeyCredential } from "@azure/core-auth";

const credential = new AzureKeyCredential("<subscription-key>");
const client = MapsRoute(credential);
function default(credential: AzureKeyCredential, options?: ClientOptions): MapsRouteClient

参数

credential
AzureKeyCredential

用于对服务请求进行身份验证的 AzureKeyCredential 实例

options
ClientOptions

用于配置路由客户端的选项

返回

default(TokenCredential, string, ClientOptions)

从 Azure 标识 TokenCredential创建 MapsRoute 实例。

示例

import MapsRoute from "@azure-rest/maps-route";
import { DefaultAzureCredential } from "@azure/identity";

const credential = new DefaultAzureCredential();
const client = MapsRoute(credential, "<maps-account-client-id>");
function default(credential: TokenCredential, mapsAccountClientId: string, options?: ClientOptions): MapsRouteClient

参数

credential
TokenCredential

用于对服务的请求进行身份验证的 TokenCredential 实例

mapsAccountClientId

string

特定地图资源的 Azure Maps 客户端 ID

options
ClientOptions

用于配置路由客户端的选项

返回

default(AzureSASCredential, ClientOptions)

从 Azure 标识 AzureSASCredential创建 MapsRoute 实例。

示例

import MapsRoute from "@azure-rest/maps-route";
import { AzureSASCredential } from "@azure/core-auth";

const credential = new AzureSASCredential("<SAS Token>");
const client = MapsRoute(credential);
function default(credential: AzureSASCredential, options?: ClientOptions): MapsRouteClient

参数

credential
AzureSASCredential

用于对服务的请求进行身份验证的 AzureSASCredential 实例

options
ClientOptions

用于配置路由客户端的选项

返回

getLongRunningPoller<TResult>(Client, TResult, CreateHttpPollerOptions<TResult, OperationState<TResult>>)

生成 Poller 对象的帮助程序函数,以帮助轮询长时间运行的操作。

function getLongRunningPoller<TResult>(client: Client, initialResponse: TResult, options?: CreateHttpPollerOptions<TResult, OperationState<TResult>>): Promise<SimplePollerLike<OperationState<TResult>, TResult>>

参数

client
Client

用于发送请求以获取其他页面的客户端。

initialResponse

TResult

初始响应。

options

CreateHttpPollerOptions<TResult, OperationState<TResult>>

设置恢复状态或自定义轮询间隔的选项。

返回

Promise<SimplePollerLike<OperationState<TResult>, TResult>>

  • 用于轮询操作状态更新的轮询程序对象,并最终获取最终响应。

isUnexpected(RouteRequestRouteMatrixSync200Response | RouteRequestRouteMatrixSync408Response | RouteRequestRouteMatrixSyncDefaultResponse)

function isUnexpected(response: RouteRequestRouteMatrixSync200Response | RouteRequestRouteMatrixSync408Response | RouteRequestRouteMatrixSyncDefaultResponse): response

参数

返回

response

isUnexpected(RouteGetRouteDirections200Response | RouteGetRouteDirectionsDefaultResponse)

function isUnexpected(response: RouteGetRouteDirections200Response | RouteGetRouteDirectionsDefaultResponse): response

参数

返回

response

isUnexpected(RouteGetRouteDirectionsWithAdditionalParameters200Response | RouteGetRouteDirectionsWithAdditionalParametersDefaultResponse)

function isUnexpected(response: RouteGetRouteDirectionsWithAdditionalParameters200Response | RouteGetRouteDirectionsWithAdditionalParametersDefaultResponse): response

参数

返回

response

isUnexpected(RouteGetRouteRange200Response | RouteGetRouteRangeDefaultResponse)

function isUnexpected(response: RouteGetRouteRange200Response | RouteGetRouteRangeDefaultResponse): response

参数

返回

response

isUnexpected(RouteRequestRouteDirectionsBatchSync200Response | RouteRequestRouteDirectionsBatchSync408Response | RouteRequestRouteDirectionsBatchSyncDefaultResponse)

function isUnexpected(response: RouteRequestRouteDirectionsBatchSync200Response | RouteRequestRouteDirectionsBatchSync408Response | RouteRequestRouteDirectionsBatchSyncDefaultResponse): response

参数

返回

response

toColonDelimitedLatLonString(LatLon[])

将 [Latitude, Longtitute] 的数组转换为以下格式的字符串:“Latitude_1,Longtitute_1:Latitude_2,Longtitute_2:...”

function toColonDelimitedLatLonString(coordinates: LatLon[]): string

参数

coordinates

LatLon[]

要转换的 Latitude/Longtitute 对数组。

返回

string

转换后的字符串。