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. |
facility
|
query | True |
string |
Der Bezeichner der Einrichtung innerhalb des Routensets, in dem der Pfad gefunden werden soll. |
from
|
query | True |
integer int32 |
Die Pfadursprungebene. |
from
|
query | True |
string |
Der Pfadursprungpunkt im folgenden Format: {latitude},{longitude}. |
routeset
|
query | True |
string |
Die ID des Routesets, von dem eine Abfrage ausgeführt werden soll. |
to
|
query | True |
integer int32 |
Die Zielebene des Pfads. |
to
|
query | True |
string |
Das Pfadziel im folgenden Format: {latitude},{longitude}. |
avoid
|
query |
Um bestimmte Arten von Connectors im resultierenden Pfad zu vermeiden. Es können mehrere Werte angegeben werden. |
||
min
|
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 |
OK |
|
Other Status Codes |
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 |
---|---|
avoid |
Um bestimmte Arten von Connectors im resultierenden Pfad zu vermeiden. Es können mehrere Werte angegeben werden. |
Error |
Zusätzliche Informationen zum Ressourcenverwaltungsfehler. |
Error |
Die Fehlerdetails. |
Error |
Fehlerantwort |
Leg |
Ein Abschnitt des Gesamtpfads. |
No |
Wenn keine Pfade gefunden werden, ist das |
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. |
Wayfind |
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 |
Die zusätzlichen Fehlerinformationen. |
|
code |
string |
Der Fehlercode. |
details |
Die Fehlerdetails. |
|
message |
string |
Die Fehlermeldung. |
target |
string |
Das Fehlerziel. |
ErrorResponse
Fehlerantwort
Name | Typ | Beschreibung |
---|---|---|
error |
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 |
Wenn keine Pfade gefunden werden, ist das |
|
paths |
Path[] |
Ein Array von Wegfindungspfadergebnissen. Wenn keine Ergebnisse gefunden wurden, wird ein leeres Array zurückgegeben. |