Freigeben über


Wayfinding - Get Path

Verwenden Sie , um den besten Pfad zwischen zwei Standorten innerhalb einer Einrichtung zu berechnen.

Der Wegsuchedienst ist Teil von Creator und entspricht dem Open Geospatial Consortium-Standard . Bei der Wegsuche werden Gebäudekartendaten aus dem Routeset verwendet, um den besten Weg zwischen zwei Standorten innerhalb derselben Einrichtung zu berechnen. Weitere Informationen finden Sie unter Wegsuche im Artikel Creator für Raumkartenkonzepte .

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}

URI-Parameter

Name In Erforderlich Typ Beschreibung
api-version
query True

string

Versionsnummer der Azure Maps API.

facilityId
query True

string

Der Bezeichner der Einrichtung innerhalb des Routensets, in dem der Pfad gefunden werden soll.

fromLevel
query True

integer

int32

Die Pfadursprungebene.

fromPoint
query True

string

Der Pfadursprungpunkt im folgenden Format: {latitude},{longitude}.

routesetId
query True

string

Die ID des Routesets, von dem eine Abfrage ausgeführt werden soll.

toLevel
query True

integer

int32

Die Zielebene des Pfads.

toPoint
query True

string

Das Pfadziel im folgenden Format: {latitude},{longitude}.

avoidFeatures
query

avoidFeatures[]

Um bestimmte Arten von Connectors im resultierenden Pfad zu vermeiden. Es können mehrere Werte angegeben werden.

minWidth
query

number

Die Mindestbreite (in Metern) der Öffnungen im durchsuchten Pfad. Wenn Sie beispielsweise eine Mindestbreite von 0,85 angegeben haben, vermeidet der gesuchte Pfad Öffnungen, die weniger als 85 Zentimeter breit sind. Hinweis: Bei Verwendung dieses Werts werden die resultierenden Pfadpunkte von Wänden und anderen vertikalen Hindernissen um die Hälfte der angegebenen Breite gepuffert.

Anforderungsheader

Name Erforderlich Typ Beschreibung
x-ms-client-id

string

Gibt an, welches Konto in Verbindung mit dem Microsoft Entra ID-Sicherheitsmodell verwendet werden soll. Es stellt eine eindeutige ID für das Azure Maps-Konto dar und kann von der Azure Maps-Verwaltungsebenen-API abgerufen werden. Informationen zur Verwendung Microsoft Entra ID Sicherheit in Azure Maps finden Sie in den folgenden Artikeln.

Antworten

Name Typ Beschreibung
200 OK

WayfindResult

OK

Other Status Codes

ErrorResponse

Ein unerwarteter Fehler ist aufgetreten.

Sicherheit

AADToken

Dies sind die Azure Active Directory OAuth2-Flows . In Kombination mit der rollenbasierten Zugriffssteuerung in Azure kann sie verwendet werden, um den Zugriff auf Azure Maps REST-APIs zu steuern. Rollenbasierte Zugriffssteuerungen in Azure werden verwendet, um den Zugriff auf ein oder mehrere Azure Maps Ressourcenkonto oder Unterressourcen festzulegen. Jedem Benutzer, jeder Gruppe oder einem Dienstprinzipal kann zugriff über eine integrierte Rolle oder eine benutzerdefinierte Rolle gewährt werden, die aus einer oder mehreren Berechtigungen für Azure Maps REST-APIs besteht.

Zur Implementierung von Szenarien wird empfohlen, Authentifizierungskonzepte anzuzeigen. Zusammenfassend bietet diese Sicherheitsdefinition eine Lösung zum Modellieren von Anwendungen über Objekte, die die Zugriffssteuerung für bestimmte APIs und Bereiche ermöglichen.

Hinweise

  • Diese Sicherheitsdefinition erfordert die Verwendung des x-ms-client-id Headers, um anzugeben, auf welche Azure Maps Ressource die Anwendung Zugriff anfordert. Dies kann über die Kartenverwaltungs-API abgerufen werden.

ist Authorization URL spezifisch für die öffentliche Azure-Cloud instance. Sovereign Clouds verfügen über eindeutige Autorisierungs-URLs und Azure Active Directory-Konfigurationen. * Die rollenbasierte Zugriffssteuerung von Azure wird über die Azure-Verwaltungsebene über Azure-Portal, PowerShell, CLI, Azure SDKs oder REST-APIs konfiguriert. * Die Verwendung des Azure Maps Web SDK ermöglicht die konfigurationsbasierte Einrichtung einer Anwendung für mehrere Anwendungsfälle.

  • Derzeit unterstützt Azure Active Directory v1.0 oder v2.0 Arbeit, Schule und Gäste, aber keine persönlichen Konten.

Typ: oauth2
Ablauf: implicit
Autorisierungs-URL: https://login.microsoftonline.com/common/oauth2/authorize

Bereiche

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

subscription-key

Dies ist ein gemeinsam verwendeter Schlüssel, der beim Erstellen eines Azure Maps-Kontos im Azure-Portal oder mithilfe von PowerShell, CLI, Azure SDKs oder REST-API bereitgestellt wird.

Mit diesem Schlüssel kann jede Anwendung auf die gesamte REST-API zugreifen. Anders ausgedrückt: Dieser Schlüssel kann als master Schlüssel in dem Konto verwendet werden, in dem er ausgestellt wird.

Für öffentlich zugängliche Anwendungen wird empfohlen, den Ansatz vertraulicher Clientanwendungen für den Zugriff auf Azure Maps REST-APIs zu verwenden, damit Ihr Schlüssel sicher gespeichert werden kann.

Typ: apiKey
In: query

SAS Token

Dies ist ein Shared Access Signature-Token, das aus dem Sas-Listenvorgang auf der Azure Maps-Ressource über die Azure-Verwaltungsebene über Azure-Portal, PowerShell, CLI, Azure SDKs oder REST-APIs erstellt wird.

Mit diesem Token ist jede Anwendung für den Zugriff mit rollenbasierten Azure-Zugriffssteuerungen und einer präzisen Steuerung des Ablaufs, der Rate und der Regionen für das jeweilige Token autorisiert. Anders ausgedrückt: Das SAS-Token kann verwendet werden, um Anwendungen die Steuerung des Zugriffs auf eine sicherere Weise zu ermöglichen als der gemeinsam genutzte Schlüssel.

Für öffentlich verfügbar gemachte Anwendungen wird empfohlen, eine bestimmte Liste der zulässigen Ursprünge in der Ressource "Konto zuordnen " zu konfigurieren, um den Renderingmissbrauch zu begrenzen und das SAS-Token regelmäßig zu erneuern.

Typ: apiKey
In: header

Beispiele

Get the shortest path between two points in the facility.

Beispielanforderung

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

Beispiel für eine Antwort

{
  "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
            }
          ]
        }
      ]
    }
  ]
}

Definitionen

Name Beschreibung
avoidFeatures

Um bestimmte Arten von Connectors im resultierenden Pfad zu vermeiden. Es können mehrere Werte angegeben werden.

ErrorAdditionalInfo

Zusätzliche Informationen zum Ressourcenverwaltungsfehler.

ErrorDetail

Die Fehlerdetails.

ErrorResponse

Fehlerantwort

Leg

Ein Abschnitt des Gesamtpfads.

NoResultExplanation

Wenn keine Pfade gefunden werden, ist das paths Array leer. Wenn der Grund ermittelt werden kann, warum keine Pfade gefunden wurden, gibt diese Eigenschaft eine Erklärung dafür an.

Path

Die Details zu einem bestimmten Pfad zwischen dem Ursprung und dem Ziel. Es kann aus einem oder mehreren Beinen bestehen.

Point

Ein Punkt innerhalb der Einrichtung.

WayfindResult

Das objekt, das von dieser Pathfinding-Anforderung zurückgegeben wird.

avoidFeatures

Um bestimmte Arten von Connectors im resultierenden Pfad zu vermeiden. Es können mehrere Werte angegeben werden.

Name Typ Beschreibung
elevators

string

Vermeiden Sie Aufzüge.

stairs

string

Vermeiden Sie Treppen.

ErrorAdditionalInfo

Zusätzliche Informationen zum Ressourcenverwaltungsfehler.

Name Typ Beschreibung
info

object

Zusätzliche Informationen.

type

string

Typ der zusätzlichen Informationen.

ErrorDetail

Die Fehlerdetails.

Name Typ Beschreibung
additionalInfo

ErrorAdditionalInfo[]

Die zusätzlichen Fehlerinformationen.

code

string

Der Fehlercode.

details

ErrorDetail[]

Die Fehlerdetails.

message

string

Die Fehlermeldung.

target

string

Das Fehlerziel.

ErrorResponse

Fehlerantwort

Name Typ Beschreibung
error

ErrorDetail

Das Fehlerobjekt.

Leg

Ein Abschnitt des Gesamtpfads.

Name Typ Beschreibung
endLevel

integer

Der Boden, auf dem dieses Bein endet.

lengthInMeters

number

Die Beinlänge dieses Beins in Metern.

mode

string

Der Beinmodus des Durchlaufs für dieses Bein. Es kann Standard (alle auf der gleichen Ebene), Aufzüge oder Treppen sein, wenn sie sich vertikal zwischen Ebenen bewegen.

points

Point[]

Die Beinform zeigt. Ihre vertikale Position wird wie folgt bestimmt: Alle Punkte befinden sich auf derselben Höhe, wenn startLevel und endLevel gleich sind, andernfalls enthält das Array nur zwei Punkte: den ersten bei startLevel und den zweiten bei endLevel.

startLevel

integer

Der Boden, in dem dieses Bein beginnt.

timeInSeconds

integer

Die Beinreisezeit in Sekunden zwischen dem ersten und dem letzten Punkt dieser Etappe.

NoResultExplanation

Wenn keine Pfade gefunden werden, ist das paths Array leer. Wenn der Grund ermittelt werden kann, warum keine Pfade gefunden wurden, gibt diese Eigenschaft eine Erklärung dafür an.

Name Typ Beschreibung
NoExplanation

string

Standardwert, der angegeben wird, wenn ein Ergebnis zurückgegeben wird oder es nicht möglich war, zu bestimmen, warum ein Pfad nicht gefunden wurde.

Path

Die Details zu einem bestimmten Pfad zwischen dem Ursprung und dem Ziel. Es kann aus einem oder mehreren Beinen bestehen.

Name Typ Beschreibung
legs

Leg[]

Die verschiedenen Reiseabschnitte dieses Pfads.

lengthInMeters

number

Die Pfadlänge des gesamten Pfads in Metern.

timeInSeconds

integer

Die Gesamtzeit des Pfads in Sekunden, die zwischen dem Ursprung und dem Ziel beim Folgen dieses Pfads zurückgelegt werden soll.

Point

Ein Punkt innerhalb der Einrichtung.

Name Typ Beschreibung
latitude

number

Der Punkt-Breitengrad

longitude

number

der Längengrad des Punkts

WayfindResult

Das objekt, das von dieser Pathfinding-Anforderung zurückgegeben wird.

Name Typ Beschreibung
noResultExplanation

NoResultExplanation

Wenn keine Pfade gefunden werden, ist das paths Array leer. Wenn der Grund ermittelt werden kann, warum keine Pfade gefunden wurden, gibt diese Eigenschaft eine Erklärung dafür an.

paths

Path[]

Ein Array von Wegfindungspfadergebnissen. Wenn keine Ergebnisse gefunden wurden, wird ein leeres Array zurückgegeben.