室內地圖 wayfinding 服務 (預覽)

Azure 地圖服務 Creator wayfinding 服務可讓您在室內地圖內的任何位置隨處導覽。 該服務會利用樓梯和電梯在樓層之間導覽,並提供指導來協助您瀏覽實體障礙物。 本文描述如何在範例室內地圖中產生從起點到目的地點的路徑。

必要條件

重要

  • 本文章使用 us.atlas.microsoft.com 地理 URL。 如果您的 Creator 服務未在美國建立,您必須使用不同的地理 URL。 如需詳細資訊,請參閱存取 Creator 服務
  • 在本文中的 URL 範例中,您將需要:
    • 使用您的 Azure 地圖服務訂用帳戶金鑰取代 {Your-Azure-Maps-Subscription-key}
    • 使用您的 datasetId 取代 {datasetId}。 如需詳細資訊,請參閱使用 Creator 建立室內地圖教學課程中的檢查資料集建立狀態一節。

建立路由集

路由集是定址服務所使用的一組室內地圖資料的集合。

路由集是從資料集建立的。 路由集與資料集無關,這表示如果刪除資料集,路由集就會繼續存在。

建立路由集之後,您就可以使用 wayfinding API 來取得從起點到設施內目的地點的路徑。

若要建立路由集:

  1. 執行下列 HTTP POST 要求

    https://us.atlas.microsoft.com/routesets?api-version=2023-03-01-preview&datasetID={datasetId}&subscription-key={Your-Azure-Maps-Subscription-key} 
    
    
  2. 從回應標頭複製 Operation-Location 索引鍵的值。

Operation-Location 索引碼是用來檢查路由集建立狀態的狀態 URL,如下一節所示。

檢查路由集建立狀態並擷取 routesetId

若要檢查路由集建立程序的狀態並擷取 routesetId:

  1. 執行下列 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

  2. 從回應標頭複製 Resource-Location 索引鍵的值。 這是資源位置 URL,並包含 routesetId

    https://us.atlas.microsoft.com/routesets/**675ce646-f405-03be-302e-0d22bcfe17e8**?api-version=2023-03-01-preview

記下 routesetId。 在所有 wayfinding 要求,以及當您取得設施識別碼時,都需要它。

取得設施識別碼

搜尋 wayfinding 路徑時,facilityId (路由集的屬性) 是必要參數。 藉由查詢路由集來取得 facilityId

  1. 執行下列 HTTP GET 要求

    https://us.atlas.microsoft.com/routesets/{routesetId}?api-version=2023-03-01-preview&subscription-key={Your-Azure-Maps-Subscription-key} 
    
    
  2. facilityIdfacilityDetails 物件的屬性,您可以在路由集要求的回應本文中找到,如下列範例中的 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"
}

取得 wayfinding 路徑

使用 wayfinding API,從您在上一節中建立的路由集產生路徑。 wayfinding API 需要查詢,其中包含室內地圖中的起點和終點,以及樓層序數。 如需 Creator wayfinding 的詳細資訊,請參閱概念文章中的 wayfinding

若要建立 wayfinding 查詢:

  1. 執行下列 HTTP GET 要求 (將 {routesetId} 取代為在 [檢查路由集建立狀態] 區段中取得的 routesetId,並將 {facilityId} 取代為 [取得設施識別碼] 區段中取得的 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 參數可用來指定某些項目,讓 wayfinding 服務在判斷路徑時避免,例如電梯或樓梯。

  2. 路徑和支線的詳細資料會顯示在回應的本文中。

摘要會顯示旅程圖總計的預估行進時間,以秒為單位。 此外,旅程圖中每個區段的估計時間會顯示在每個支線的開頭。

wayfinding 服務會透過特定的交錯點來計算路徑。 每個點都顯示,以及其緯度和經度詳細資料。