Sdílet prostřednictvím


Wayfinding - Get Path

Slouží k výpočtu nejlepší cesty mezi dvěma umístěními v rámci zařízení.

Služba Wayfinding je součástí creatoru a dodržuje standard Open Geospatial Consortium . Wayfinding používá data vnitřní mapy z routeset k výpočtu nejlepší cesty mezi dvěma místy v rámci stejného zařízení. Další informace najdete v tématu Wayfinding v článku Creator for indoor maps concepts (Koncepce interiérových map ).

GET https:///wayfinding/path?api-version=2023-03-01-preview&routesetId={routesetId}&facilityId={facilityId}&fromPoint={fromPoint}&fromLevel={fromLevel}&toPoint={toPoint}&toLevel={toLevel}
GET https:///wayfinding/path?api-version=2023-03-01-preview&routesetId={routesetId}&facilityId={facilityId}&fromPoint={fromPoint}&fromLevel={fromLevel}&toPoint={toPoint}&toLevel={toLevel}&avoidFeatures={avoidFeatures}&minWidth={minWidth}

Parametry identifikátoru URI

Name V Vyžadováno Typ Description
api-version
query True

string

Číslo verze rozhraní API Azure Maps.

facilityId
query True

string

Identifikátor zařízení v sadě tras, kde se má cesta najít.

fromLevel
query True

integer

int32

Úroveň původu cesty.

fromPoint
query True

string

Počáteční bod cesty v následujícím formátu: {zeměpisná šířka},{zeměpisná délka}.

routesetId
query True

string

ID sady tras, ze které se má dotazovat.

toLevel
query True

integer

int32

Cílová úroveň cesty.

toPoint
query True

string

Cíl cesty v následujícím formátu: {zeměpisná šířka},{zeměpisná délka}.

avoidFeatures
query

avoidFeatures[]

Chcete-li se vyhnout určitým typům konektorů ve výsledné cestě. Je možné zadat více hodnot.

minWidth
query

number

Minimální šířka (v metrech) otvorů ve hledané cestě. Pokud jste například zadali minimální šířku 0,85, hledaná cesta zabrání otvorům širokým než 85 centimetrů. Poznámka: Při použití této hodnoty se výsledné body cesty od zdí a jiných svislých překážek uloží do vyrovnávací paměti polovinou poskytnuté šířky.

Hlavička požadavku

Name Vyžadováno Typ Description
x-ms-client-id

string

Určuje, který účet je určený pro použití ve spojení s modelem zabezpečení Microsoft Entra ID. Představuje jedinečné ID účtu Azure Maps a je možné ho načíst z rozhraní API účtu roviny správy Azure Maps. Pokud chcete použít Microsoft Entra ID zabezpečení v Azure Maps pokyny najdete v následujících článcích.

Odpovědi

Name Typ Description
200 OK

WayfindResult

OK

Other Status Codes

ErrorResponse

Došlo k neočekávané chybě.

Zabezpečení

AADToken

Toto jsou toky Azure Active Directory OAuth2 . Při spárování s řízením přístupu na základě role v Azure se dá použít k řízení přístupu k Azure Maps rozhraní REST API. Řízení přístupu na základě role v Azure slouží k určení přístupu k jednomu nebo několika Azure Maps účtu prostředku nebo dílčím prostředkům. Každému uživateli, skupině nebo instančnímu objektu je možné udělit přístup prostřednictvím předdefinované role nebo vlastní role složené z jednoho nebo více oprávnění k Azure Maps rozhraní REST API.

Pokud chcete implementovat scénáře, doporučujeme zobrazit si koncepty ověřování. Souhrnně řečeno, tato definice zabezpečení poskytuje řešení pro modelování aplikací prostřednictvím objektů schopných řízení přístupu pro konkrétní rozhraní API a obory.

Poznámky

  • Tato definice zabezpečení vyžaduje použití hlavičky x-ms-client-id k označení Azure Maps prostředku, ke kterému aplikace žádá o přístup. Můžete ho získat z rozhraní MAPS MANAGEMENT API.

Je Authorization URL specifický pro instanci veřejného cloudu Azure. Suverénní cloudy mají jedinečné autorizační adresy URL a konfigurace Azure Active Directory. * Řízení přístupu na základě role v Azure se konfiguruje z roviny správy Azure prostřednictvím Azure Portal, PowerShellu, rozhraní příkazového řádku, sad Azure SDK nebo rozhraní REST API. * Použití sady AZURE MAPS Web SDK umožňuje nastavení aplikace na základě konfigurace pro více případů použití.

  • Azure Active Directory verze 1.0 nebo 2.0 v současné době podporuje pracovní, školní a hosta, ale nepodporuje osobní účty.

Typ: oauth2
Tok: implicit
URL autorizace: https://login.microsoftonline.com/common/oauth2/authorize

Rozsahy

Name Description
https://atlas.microsoft.com/.default https://atlas.microsoft.com/.default

subscription-key

Jedná se o sdílený klíč, který se zřídí při vytvoření účtu Azure Maps v Azure Portal nebo pomocí PowerShellu, rozhraní příkazového řádku, sad Azure SDK nebo rozhraní REST API.

S tímto klíčem může každá aplikace přistupovat ke všem rozhraním REST API. Jinými slovy, tento klíč se dá použít jako hlavní klíč v účtu, ve kterému je vystavený.

U veřejně vystavených aplikací doporučujeme pro přístup k Azure Maps rozhraní REST API použít přístup k důvěrným klientským aplikacím, aby se váš klíč mohl bezpečně uložit.

Typ: apiKey
V: query

SAS Token

Jedná se o token sdíleného přístupového podpisu, který se vytvoří z operace List SAS v Azure Maps prostředku prostřednictvím roviny správy Azure prostřednictvím Azure Portal, PowerShellu, rozhraní příkazového řádku, sad Azure SDK nebo rozhraní REST API.

S tímto tokenem má každá aplikace autorizaci pro přístup pomocí řízení přístupu na základě role v Azure a podrobnou kontrolu vypršení platnosti, četnosti a oblastí použití konkrétního tokenu. Jinými slovy, token SAS je možné použít k tomu, aby aplikace mohly řídit přístup zabezpečeným způsobem než sdílený klíč.

U veřejně vystavených aplikací doporučujeme nakonfigurovat konkrétní seznam povolených zdrojů v prostředku účtu map , aby se omezilo zneužití vykreslování, a pravidelně obnovovat token SAS.

Typ: apiKey
V: header

Příklady

Get the shortest path between two points in the facility.

Ukázkový požadavek

GET https:///wayfinding/path?api-version=2023-03-01-preview&routesetId=[routeset-Id]&facilityId=[facility-Id]&fromPoint=47.652882287901065,-122.13400410050512&fromLevel=-1&toPoint=47.652870534630466,-122.13382884389553&toLevel=0

Ukázková odpověď

{
  "noResultExplanation": "NoExplanation",
  "paths": [
    {
      "lengthInMeters": 51.27548,
      "timeInSeconds": 60,
      "legs": [
        {
          "mode": "Default",
          "lengthInMeters": 14.7605,
          "timeInSeconds": 15,
          "startLevel": 0,
          "endLevel": 0,
          "points": [
            {
              "latitude": 47.6528823,
              "longitude": -122.1340041
            },
            {
              "latitude": 47.6528688,
              "longitude": -122.1340336
            },
            {
              "latitude": 47.6528591,
              "longitude": -122.1340534
            },
            {
              "latitude": 47.6528309,
              "longitude": -122.1341107
            },
            {
              "latitude": 47.6527984,
              "longitude": -122.1341556
            }
          ]
        },
        {
          "mode": "Stair",
          "lengthInMeters": 7.88608,
          "timeInSeconds": 16,
          "startLevel": 0,
          "endLevel": 1,
          "points": [
            {
              "latitude": 47.6527984,
              "longitude": -122.1341556
            },
            {
              "latitude": 47.6527843,
              "longitude": -122.1341395
            }
          ]
        },
        {
          "mode": "Default",
          "lengthInMeters": 28.6289,
          "timeInSeconds": 29,
          "startLevel": 1,
          "endLevel": 1,
          "points": [
            {
              "latitude": 47.6527843,
              "longitude": -122.1341395
            },
            {
              "latitude": 47.6527843,
              "longitude": -122.1341395
            },
            {
              "latitude": 47.6527843,
              "longitude": -122.1341395
            },
            {
              "latitude": 47.6527846,
              "longitude": -122.1341332
            },
            {
              "latitude": 47.652789,
              "longitude": -122.1341315
            },
            {
              "latitude": 47.6527898,
              "longitude": -122.1341312
            },
            {
              "latitude": 47.6527913,
              "longitude": -122.1341306
            },
            {
              "latitude": 47.6527938,
              "longitude": -122.1341295
            },
            {
              "latitude": 47.6528309,
              "longitude": -122.1341137
            },
            {
              "latitude": 47.652856,
              "longitude": -122.1340564
            },
            {
              "latitude": 47.6528694,
              "longitude": -122.1340372
            },
            {
              "latitude": 47.652873,
              "longitude": -122.1339296
            },
            {
              "latitude": 47.6528735,
              "longitude": -122.1339124
            },
            {
              "latitude": 47.6528733,
              "longitude": -122.1339095
            },
            {
              "latitude": 47.6528732,
              "longitude": -122.1338288
            }
          ]
        }
      ]
    }
  ]
}

Definice

Name Description
avoidFeatures

Chcete-li se vyhnout určitým typům konektorů ve výsledné cestě. Je možné zadat více hodnot.

ErrorAdditionalInfo

Další informace o chybě správy prostředků

ErrorDetail

Podrobnosti o chybě

ErrorResponse

Chybová odpověď

Leg

Část celkové cesty.

NoResultExplanation

V případě, že nejsou nalezeny žádné cesty, paths bude pole prázdné. Pokud lze zjistit důvod, proč nebyly nalezeny žádné cesty, tato vlastnost poskytne vysvětlení.

Path

Podrobnosti o konkrétní cestě mezi zdrojem a cílem. Může být tvořen jednou nebo více nohami.

Point

Bod v objektu.

WayfindResult

Objekt vrácený tímto požadavkem Wayfinding Path.

avoidFeatures

Chcete-li se vyhnout určitým typům konektorů ve výsledné cestě. Je možné zadat více hodnot.

Name Typ Description
elevators

string

Vyhněte se výtahům.

stairs

string

Vyhněte se schodům.

ErrorAdditionalInfo

Další informace o chybě správy prostředků

Name Typ Description
info

object

Další informace.

type

string

Typ další informace.

ErrorDetail

Podrobnosti o chybě

Name Typ Description
additionalInfo

ErrorAdditionalInfo[]

Další informace o chybě.

code

string

Kód chyby

details

ErrorDetail[]

Podrobnosti o chybě.

message

string

Chybová zpráva

target

string

Cíl chyby.

ErrorResponse

Chybová odpověď

Name Typ Description
error

ErrorDetail

Objekt chyby.

Leg

Část celkové cesty.

Name Typ Description
endLevel

integer

Podlaha, kde tato noha končí.

lengthInMeters

number

Délka nohy v metrech.

mode

string

Režim procházení nohy pro tuto nohu. Může to být výchozí (vše na stejné úrovni), výtahy nebo schody při pohybu svisle mezi úrovněmi.

points

Point[]

Body tvaru nohy. Jejich svislá pozice je určena následujícím způsobem: všechny body jsou ve stejné výšce, když jsou startLevel a endLevel stejné, jinak bude pole obsahovat pouze dva body: první na startLevel a druhý na endLevel.

startLevel

integer

Podlaha, kde ta noha začíná.

timeInSeconds

integer

Doba pohybu nohy, v sekundách, která se má cestovat mezi prvním a posledním bodem této nohy.

NoResultExplanation

V případě, že nejsou nalezeny žádné cesty, paths bude pole prázdné. Pokud lze zjistit důvod, proč nebyly nalezeny žádné cesty, tato vlastnost poskytne vysvětlení.

Name Typ Description
NoExplanation

string

Výchozí hodnota zadaná při vrácení výsledku nebo nebylo možné určit, proč nebyla nalezena cesta.

Path

Podrobnosti o konkrétní cestě mezi zdrojem a cílem. Může být tvořen jednou nebo více nohami.

Name Typ Description
legs

Leg[]

Různé části cesty.

lengthInMeters

number

Délka celé cesty v metrech.

timeInSeconds

integer

Celková doba cesty (v sekundách) pro cestu mezi zdrojem a cílem při sledování této cesty.

Point

Bod v objektu.

Name Typ Description
latitude

number

zeměpisná šířka bodu

longitude

number

zeměpisná délka bodu

WayfindResult

Objekt vrácený tímto požadavkem Wayfinding Path.

Name Typ Description
noResultExplanation

NoResultExplanation

V případě, že nejsou nalezeny žádné cesty, paths bude pole prázdné. Pokud lze zjistit důvod, proč nebyly nalezeny žádné cesty, tato vlastnost poskytne vysvětlení.

paths

Path[]

Pole výsledků cesty. Pokud nebyly nalezeny žádné výsledky, vrátí se prázdné pole.