Wayfinding - Get Path
Bir tesis içindeki iki konum arasındaki en iyi yolu hesaplamak için kullanın.
Wayfinding Hizmeti, Oluşturucu'nun bir parçasıdır ve Open Geospatial Consortium standardına bağlıdır. Wayfinding, aynı tesis içindeki iki konum arasındaki en iyi yolu hesaplamak için rota kümesindeki iç mekan harita verilerini kullanır. Daha fazla bilgi için İç mekan haritaları kavramları makalesindeWayfinding bölümüne bakın.
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 Parametreleri
Name | İçinde | Gerekli | Tür | Description |
---|---|---|---|---|
api-version
|
query | True |
string |
Azure Haritalar API'sinin sürüm numarası. |
facility
|
query | True |
string |
Yolun bulunacağı rota kümesi içindeki tesisin tanımlayıcısı. |
from
|
query | True |
integer int32 |
Yol kaynağı düzeyi. |
from
|
query | True |
string |
Şu biçimdeki yol çıkış noktası: {latitude},{longitude}. |
routeset
|
query | True |
string |
Sorguya alınacak rota kümesinin kimliği. |
to
|
query | True |
integer int32 |
Yol hedef düzeyi. |
to
|
query | True |
string |
Şu biçimdeki yol hedefi: {latitude},{longitude}. |
avoid
|
query |
Sonuçta elde edilen yolda belirli bağlayıcı türlerinden kaçınmak için. Birden çok değer belirtilebilir. |
||
min
|
query |
number |
Aranan yoldaki açıklıkların minimum genişliği (metre cinsinden). Örneğin, en az 0,85 genişlik belirttiyseniz, arama yapılan yol 85 santimetre genişliğinden küçük açıklıklardan kaçınacaktır. Not: Bu değer kullanıldığında, elde edilen yol noktaları sağlanan genişliğin yarısı kadar duvarlardan ve diğer dikey engellerden arabelleğe alınacaktır. |
İstek Başlığı
Name | Gerekli | Tür | Description |
---|---|---|---|
x-ms-client-id |
string |
Hangi hesabın Microsoft Entra ID güvenlik modeliyle birlikte kullanıma yönelik olduğunu belirtir. Azure Haritalar hesabı için benzersiz bir kimliği temsil eder ve Azure Haritalar yönetim düzlemi Hesap API'sinden alınabilir. Azure Haritalar Microsoft Entra ID güvenliğini kullanmak için kılavuz için aşağıdaki makalelere bakın. |
Yanıtlar
Name | Tür | Description |
---|---|---|
200 OK |
Tamam |
|
Other Status Codes |
Beklenmeyen bir hata oluştu. |
Güvenlik
AADToken
Bunlar Azure Active Directory OAuth2 Akışlarıdır. Azure rol tabanlı erişim denetimiyle eşleştirildiğinde, Azure Haritalar REST API'lerine erişimi denetlemek için kullanılabilir. Azure rol tabanlı erişim denetimleri, bir veya daha fazla Azure Haritalar kaynak hesabına veya alt kaynağına erişimi tanımlamak için kullanılır. Herhangi bir kullanıcı, grup veya hizmet sorumlusuna yerleşik bir rol veya REST API'lerini Azure Haritalar için bir veya daha fazla izinden oluşan özel bir rol aracılığıyla erişim verilebilir.
Senaryoları uygulamak için kimlik doğrulama kavramlarını görüntülemenizi öneririz. Özetle, bu güvenlik tanımı belirli API'ler ve kapsamlar üzerinde erişim denetimi yapabilen nesneler aracılığıyla uygulamaları modellemeye yönelik bir çözüm sağlar.
Notlar
- Bu güvenlik tanımı, uygulamanın erişim isteğinde
x-ms-client-id
bulunduğu Azure Haritalar kaynağı belirtmek için üst bilginin kullanılmasını gerektirir. Bu, Haritalar yönetim API'sinden edinilebilir.
Authorization URL
, Azure genel bulut örneğine özgüdür. Bağımsız bulutların benzersiz Yetkilendirme URL'leri ve Azure Active Directory yapılandırmaları vardır.
* Azure rol tabanlı erişim denetimi Azure portal, PowerShell, CLI, Azure SDK'ları veya REST API'leri aracılığıyla Azure yönetim düzleminden yapılandırılır.
* Azure Haritalar Web SDK'sının kullanımı, bir uygulamanın birden çok kullanım örneği için yapılandırma tabanlı kurulumuna olanak tanır.
- Şu anda Azure Active Directory v1.0 veya v2.0 , İş, Okul ve Konuklar'ı destekler ancak Kişisel hesapları desteklemez.
Type:
oauth2
Flow:
implicit
Authorization URL:
https://login.microsoftonline.com/common/oauth2/authorize
Scopes
Name | Description |
---|---|
https://atlas.microsoft.com/.default | https://atlas.microsoft.com/.default |
subscription-key
Bu, Azure portal Azure Haritalar hesabı oluşturduğunuzda veya PowerShell, CLI, Azure SDK'ları veya REST API kullandığınızda sağlanan paylaşılan bir anahtardır.
Bu anahtarla, tüm uygulamalar tüm REST API'lere erişebilir. Başka bir deyişle, bu anahtar, verildikleri hesapta ana anahtar olarak kullanılabilir.
Herkese açık uygulamalar için, anahtarınızın güvenli bir şekilde depolanabilmesi için gizli istemci uygulamaları yaklaşımını kullanarak Azure Haritalar REST API'lerine erişmenizi öneririz.
Type:
apiKey
In:
query
SAS Token
Bu paylaşılan erişim imzası belirteci, Azure portal, PowerShell, CLI, Azure SDK'ları veya REST API'leri aracılığıyla Azure yönetim düzlemi aracılığıyla Azure Haritalar kaynağındaki Sas Listeleme işleminden oluşturulur.
Bu belirteçle, tüm uygulamalar Azure rol tabanlı erişim denetimleri ve belirli bir belirtecin kullanım süresi, oranı ve bölgelerine yönelik ayrıntılı denetim ile erişim yetkisine sahip olur. Başka bir deyişle SAS Belirteci, uygulamaların erişimi paylaşılan anahtardan daha güvenli bir şekilde denetlemesine izin vermek için kullanılabilir.
Herkese açık uygulamalar için önerimiz, uygunsuz işlemeyi sınırlamak ve SAS Belirtecini düzenli olarak yenilemek için Harita hesabı kaynağında izin verilen kaynakların belirli bir listesini yapılandırmanızdır.
Type:
apiKey
In:
header
Örnekler
Get the shortest path between two points in the facility.
Sample Request
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
Sample Response
{
"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
}
]
}
]
}
]
}
Tanımlar
Name | Description |
---|---|
avoid |
Sonuçta elde edilen yolda belirli bağlayıcı türlerinden kaçınmak için. Birden çok değer belirtilebilir. |
Error |
Kaynak yönetimi hatası ek bilgileri. |
Error |
Hata ayrıntısı. |
Error |
Hata yanıtı |
Leg |
Genel yolun bir bölümü. |
No |
Hiçbir yol bulunamazsa, |
Path |
Kaynak ve hedef arasındaki belirli bir yol hakkındaki ayrıntılar. Bir veya daha fazla bacaklardan oluşabilir. |
Point |
Tesisin içinde bir nokta. |
Wayfind |
Bu Wayfinding Path isteği tarafından döndürülen nesne. |
avoidFeatures
Sonuçta elde edilen yolda belirli bağlayıcı türlerinden kaçınmak için. Birden çok değer belirtilebilir.
Name | Tür | Description |
---|---|---|
elevators |
string |
Asansörlerden kaçının. |
stairs |
string |
Merdivenlerden kaçının. |
ErrorAdditionalInfo
Kaynak yönetimi hatası ek bilgileri.
Name | Tür | Description |
---|---|---|
info |
object |
Ek bilgiler. |
type |
string |
Ek bilgi türü. |
ErrorDetail
Hata ayrıntısı.
Name | Tür | Description |
---|---|---|
additionalInfo |
Hata ek bilgileri. |
|
code |
string |
Hata kodu. |
details |
Hata ayrıntıları. |
|
message |
string |
Hata iletisi. |
target |
string |
Hata hedefi. |
ErrorResponse
Hata yanıtı
Name | Tür | Description |
---|---|---|
error |
Hata nesnesi. |
Leg
Genel yolun bir bölümü.
Name | Tür | Description |
---|---|---|
endLevel |
integer |
Bu bacağın bittiği yerde. |
lengthInMeters |
number |
Bu bacağın metre cinsinden bacak uzunluğu. |
mode |
string |
Bu bacak için dolaşmanın bacak modu. Seviyeler arasında dikey olarak hareket ederken varsayılan (tümü aynı düzeyde), asansörler veya merdivenler olabilir. |
points |
Point[] |
Bacak şekli işaret etti. Dikey konumları aşağıdaki gibi belirlenir: startLevel ve endLevel aynı olduğunda tüm noktalar aynı yüksekliktedir, aksi takdirde dizi yalnızca iki nokta içerir: startLevel'deki ilk ve endLevel'deki ikinci nokta. |
startLevel |
integer |
Bacağının başladığı yerde. |
timeInSeconds |
integer |
Bacak, bu bacağın ilk ve son noktası arasında hareket etmek için saniyeler içinde seyahat süresi. |
NoResultExplanation
Hiçbir yol bulunamazsa, paths
dizi boş olur. Hiçbir yol bulunamadı nedeni belirlenemezse, bu özellik nedenini bir açıklama sağlayacaktır.
Name | Tür | Description |
---|---|---|
NoExplanation |
string |
Bir sonuç döndürülürse veya bir yolun neden bulunamadığını belirlemek mümkün olmadığında sağlanan varsayılan değer. |
Path
Kaynak ve hedef arasındaki belirli bir yol hakkındaki ayrıntılar. Bir veya daha fazla bacaklardan oluşabilir.
Name | Tür | Description |
---|---|---|
legs |
Leg[] |
Bu yolun farklı seyahat bölümleri. |
lengthInMeters |
number |
Tüm yolun metre cinsinden yol uzunluğu. |
timeInSeconds |
integer |
Bu yolu takip ederken kaynak ile hedef arasında ilerlemek için yol toplam süresi (saniye cinsinden). |
Point
Tesisin içinde bir nokta.
Name | Tür | Description |
---|---|---|
latitude |
number |
nokta enlemi |
longitude |
number |
nokta boylamı |
WayfindResult
Bu Wayfinding Path isteği tarafından döndürülen nesne.
Name | Tür | Description |
---|---|---|
noResultExplanation |
Hiçbir yol bulunamazsa, |
|
paths |
Path[] |
Yol bulma yolu sonuçları dizisi. Sonuç bulunamazsa boş bir dizi döndürülür. |