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

RouteRequestRouteMatrix200Response interface

适用于:请参阅定价

矩阵路由服务允许使用异步(异步)或同步 (sync) POST 请求计算一组由源位置和目标位置定义的路由摘要矩阵。 对于每个给定源,服务将计算从该源路由到每个给定目标的成本。 可以将源集和目标集视为表的列和行标题,表中每个单元格都包含从源路由到该单元格的目标的成本。 例如,假设一家食品送货公司有 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 (不需要正方形)。

异步响应的存储时间为 14 天 。 重定向 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 - 已成功处理矩阵请求。 响应正文包含所有结果。

扩展

属性

body
status

继承属性

headers

HTTP 响应标头。

request

生成此响应的请求。

属性详细信息

body

body: RouteMatrixResultOutput

属性值

status

status: "200"

属性值

"200"

继承属性详细信息

headers

HTTP 响应标头。

headers: RawHttpHeaders

属性值

继承自 HttpResponse.headers

request

生成此响应的请求。

request: PipelineRequest

属性值

继承自 HttpResponse.request