你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
室内地图寻路服务(预览版)
注意
Azure Maps Creator 停用
Azure Maps Creator 室内地图服务现已弃用,将于 2025 年 9 月 30 日停用。 有关详细信息,请参阅 Azure Maps Creator 生命周期结束公告。
使用 Azure Maps Creator 寻路服务,可以在室内地图中从一个位置导航到另一个位置。 该服务利用楼梯和电梯在楼层之间导航,并提供指引来帮助你绕过物理障碍物。 本文采用示例室内地图来介绍如何生成从起点到目的地的路径。
先决条件
- 理解 Creator 概念。
- Azure Maps Creator 数据集和图块集。
重要
- 本文使用
us.atlas.microsoft.com
地理 URL。 如果 Creator 服务不是在美国创建的,则必须使用不同的地理 URL。 有关详细信息,请参阅访问 Creator 服务。 - 需要对本文中的 URL 示例执行以下调整:
- 将
{Your-Azure-Maps-Subscription-key}
替换为你的 Azure Maps 订阅密钥。 - 将
{datasetId
} 替换为你的datasetId
。
- 将
创建路线集
路线集是供寻路服务使用的室内地图数据的集合。
从数据集创建路由集。 该路由集独立于数据集,这意味着如果删除数据集,路由集将继续存在。
创建路线集后,可以使用寻路 API 获取场所内从起点到目的地的路径。
创建路线集:
执行以下 HTTP POST 请求:
https://us.atlas.microsoft.com/routesets?api-version=2023-03-01-preview&datasetID={datasetId}&subscription-key={Your-Azure-Maps-Subscription-key}
从响应标头复制 Operation-Location 键的值。
Operation-Location 键为状态 URL,用于检查路由集创建的状态,如下部分所示。
检查路线集创建状态并检索 routesetId
检查路线集创建过程的状态并检索 routesetId:
执行以下 HTTP GET 请求:
https://us.atlas.microsoft.com/routesets/operations/{operationId}?api-version=2023-03-01-preview&subscription-key={Your-Azure-Maps-Subscription-key}
注意
创建新的路线集时,从响应标头中的 Operation-Location 键获取
operationId
。从响应标头复制 Resource-Location 键的值。 它是资源位置 URL,包含
routesetId
:
记下 routesetId
。 它在所有寻路请求和在获取设备 ID 时是必需的。
获取场所 ID
facilityId
(路线集的一个属性)是搜索寻路路径时必需的参数。 通过查询路线集获取 facilityId
。
执行以下 HTTP GET 请求:
https://us.atlas.microsoft.com/routesets/{routesetId}?api-version=2023-03-01-preview&subscription-key={Your-Azure-Maps-Subscription-key}
facilityId
是facilityDetails
对象的一个属性,可以在路线集请求的响应正文中找到,即以下示例中的FCL43
:
{
"routeSetId": "675ce646-f405-03be-302e-0d22bcfe17e8",
"dataSetId": "eec3825c-620f-13e1-b469-85d2767c8a41",
"created": "10/10/2022 6:58:32 PM +00:00",
"facilityDetails": [
{
"facilityId": "FCL43",
"levelOrdinals": [
0,
1
]
}
],
"creationMode": "Wall",
"ontology": "facility-2.0"
}
获取寻路路径
使用寻路 API 从在上一部分创建的路线集生成路径。 寻路 API 要求查询包含室内地图中的起点和终点,以及楼层序号。 有关 Creator 寻路的详细信息,请参阅概念文章中的寻路。
创建寻路查询:
执行以下 HTTP GET 请求(将 {routesetId} 替换为在检查路线集创建状态部分中获取的 routesetId,将 {facilityId} 替换为在获取场所 ID 部分中获取的 facilityId):
https://us.atlas.microsoft.com/wayfinding/path?api-version=2023-03-01-preview&subscription-key={Your-Azure-Maps-Subscription-key}&routesetid={routeset-ID}&facilityid={facility-ID}&fromPoint={lat,lon}&fromLevel={from-level}&toPoint={lat,lon}&toLevel={to-level}&minWidth={minimun-width}
提示
参数
AvoidFeatures
可用于为寻路服务指定在确定路径时要避开的对象,如电梯或楼梯。路径和路段的详细信息显示在响应的正文中。
摘要会显示整个路程的估计耗时(以秒为单位)。 此外,路程中各部分的估计耗时会显示在每个路段的开头。
寻路服务计算通过特定中间点的路径。 将显示每个点及其纬度和经度详细信息。