Partilhar via


Wayfinding - Get Path

Utilize para calcular o melhor caminho entre duas localizações numa instalação.

O Serviço Wayfinding faz parte do Criador e cumpre o padrão Open Geospatial Consortium . O Wayfinding utiliza dados de mapa interior do conjunto de rotas para calcular o melhor caminho entre duas localizações dentro da mesma instalação. Para obter mais informações, consulte o artigo Wayfinding in the Creator for indoor maps concepts (Conceitos do Criador para mapas interiores ).

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}

Parâmetros do URI

Name Em Necessário Tipo Description
api-version
query True

string

Número da versão da API Azure Maps.

facilityId
query True

string

O identificador da instalação no conjunto de rotas onde encontrar o caminho.

fromLevel
query True

integer

int32

O nível de origem do caminho.

fromPoint
query True

string

O ponto de origem do caminho no seguinte formato: {latitude},{longitude}.

routesetId
query True

string

O ID do conjunto de rotas a partir do que pretende consultar.

toLevel
query True

integer

int32

O nível de destino do caminho.

toPoint
query True

string

O destino do caminho no seguinte formato: {latitude},{longitude}.

avoidFeatures
query

avoidFeatures[]

Para evitar determinados tipos de conectores no caminho resultante. Podem ser especificados vários valores.

minWidth
query

number

A largura mínima (em metros) das aberturas no caminho pesquisado. Por exemplo, se tiver especificado uma largura mínima de 0,85, o caminho pesquisado evitará aberturas com menos de 85 centímetros de largura. Nota: ao utilizar este valor, os pontos de caminho resultantes serão colocados em memória intermédia das paredes e outros obstáculos verticais por metade da largura fornecida.

Cabeçalho do Pedido

Name Necessário Tipo Description
x-ms-client-id

string

Especifica a conta que se destina à utilização em conjunto com o modelo de segurança Microsoft Entra ID. Representa um ID exclusivo para a conta Azure Maps e pode ser obtido a partir da API de Conta do plano de gestão Azure Maps. Para utilizar Microsoft Entra ID segurança no Azure Maps consulte os seguintes artigos para obter orientações.

Respostas

Name Tipo Description
200 OK

WayfindResult

OK

Other Status Codes

ErrorResponse

Ocorreu um erro inesperado.

Segurança

AADToken

Estes são os Fluxos OAuth2 do Azure Active Directory . Quando emparelhado com o controlo de acesso baseado em funções do Azure, pode ser utilizado para controlar o acesso às APIs REST Azure Maps. Os controlos de acesso baseados em funções do Azure são utilizados para designar o acesso a uma ou mais Azure Maps conta de recursos ou sub-recursos. Qualquer utilizador, grupo ou principal de serviço pode ter acesso através de uma função incorporada ou de uma função personalizada composta por uma ou mais permissões para Azure Maps APIs REST.

Para implementar cenários, recomendamos que veja os conceitos de autenticação. Em resumo, esta definição de segurança fornece uma solução para modelar aplicações através de objetos com capacidade de controlo de acesso em APIs e âmbitos específicos.

Notas

  • Esta definição de segurança requer a utilização do x-ms-client-id cabeçalho para indicar a que recurso Azure Maps a aplicação está a pedir acesso. Isto pode ser adquirido a partir da API de gestão do Maps.

O Authorization URL é específico da instância da cloud pública do Azure. As clouds soberanas têm URLs de Autorização exclusivos e configurações do Azure Active Directory. * O controlo de acesso baseado em funções do Azure está configurado a partir do plano de gestão do Azure através de portal do Azure, PowerShell, CLI, SDKs do Azure ou APIs REST. * A utilização do SDK Web Azure Maps permite a configuração baseada na configuração de uma aplicação para vários casos de utilização.

  • Atualmente, o Azure Active Directory v1.0 ou v2.0 suporta o Trabalho, a Escola e os Convidados, mas não suporta contas Pessoais.

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

Esta é uma chave partilhada que é aprovisionada quando Cria uma conta Azure Maps no portal do Azure ou com o PowerShell, a CLI, os SDKs do Azure ou a API REST.

Com esta chave, qualquer aplicação pode aceder a toda a API REST. Por outras palavras, esta chave pode ser utilizada como uma chave mestra na conta na qual são emitidas.

Para aplicações expostas publicamente, a nossa recomendação é utilizar a abordagem de aplicações cliente confidenciais para aceder Azure Maps APIs REST para que a sua chave possa ser armazenada de forma segura.

Type: apiKey
In: query

SAS Token

Este é um token de assinatura de acesso partilhado criado a partir da operação Listar SAS no recurso Azure Maps através do plano de gestão do Azure através de portal do Azure, PowerShell, CLI, SDKs do Azure ou APIs REST.

Com este token, qualquer aplicação está autorizada a aceder com controlos de acesso baseados em funções do Azure e controlo detalhado para a expiração, taxa e regiões de utilização para o token específico. Por outras palavras, o Token de SAS pode ser utilizado para permitir que as aplicações controlem o acesso de uma forma mais segura do que a chave partilhada.

Para aplicações expostas publicamente, a nossa recomendação é configurar uma lista específica de origens permitidas no recurso da conta de Mapa para limitar o abuso de composição e renovar regularmente o Token de SAS.

Type: apiKey
In: header

Exemplos

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

Definições

Name Description
avoidFeatures

Para evitar determinados tipos de conectores no caminho resultante. Podem ser especificados vários valores.

ErrorAdditionalInfo

Informações adicionais sobre o erro de gestão de recursos.

ErrorDetail

O detalhe do erro.

ErrorResponse

Resposta a erros

Leg

Uma secção do caminho geral.

NoResultExplanation

Caso não sejam encontrados caminhos, a paths matriz estará vazia. Se não for possível determinar o motivo pelo qual não foram encontrados caminhos, esta propriedade fornecerá uma explicação do motivo.

Path

Os detalhes sobre um caminho específico entre a origem e o destino. Pode ser composto por uma ou mais pernas.

Point

Um ponto dentro das instalações.

WayfindResult

O objeto devolvido por este pedido Wayfinding Path.

avoidFeatures

Para evitar determinados tipos de conectores no caminho resultante. Podem ser especificados vários valores.

Name Tipo Description
elevators

string

Evite elevadores.

stairs

string

Evite escadas.

ErrorAdditionalInfo

Informações adicionais sobre o erro de gestão de recursos.

Name Tipo Description
info

object

As informações adicionais.

type

string

O tipo de informações adicionais.

ErrorDetail

O detalhe do erro.

Name Tipo Description
additionalInfo

ErrorAdditionalInfo[]

As informações adicionais do erro.

code

string

O código de erro.

details

ErrorDetail[]

Os detalhes do erro.

message

string

A mensagem de erro.

target

string

O destino do erro.

ErrorResponse

Resposta a erros

Name Tipo Description
error

ErrorDetail

O objeto de erro.

Leg

Uma secção do caminho geral.

Name Tipo Description
endLevel

integer

O chão onde esta perna termina.

lengthInMeters

number

O comprimento da perna, em metros, desta perna.

mode

string

O modo de pernas do percurso para esta perna. Pode ser predefinição (tudo no mesmo nível), elevadores ou escadas ao mover-se verticalmente entre níveis.

points

Point[]

Os pontos da forma da perna. A posição vertical é determinada da seguinte forma: todos os pontos têm a mesma altura quando startLevel e endLevel são os mesmos, caso contrário, a matriz conterá apenas dois pontos: o primeiro em startLevel e o segundo no endLevel.

startLevel

integer

O chão onde esta perna começa.

timeInSeconds

integer

O tempo de viagem da perna, em segundos, para viajar entre o primeiro e o último ponto desta perna.

NoResultExplanation

Caso não sejam encontrados caminhos, a paths matriz estará vazia. Se não for possível determinar o motivo pelo qual não foram encontrados caminhos, esta propriedade fornecerá uma explicação do motivo.

Name Tipo Description
NoExplanation

string

Valor predefinido fornecido quando um resultado é devolvido ou não foi possível determinar o motivo pelo qual um caminho não foi encontrado.

Path

Os detalhes sobre um caminho específico entre a origem e o destino. Pode ser composto por uma ou mais pernas.

Name Tipo Description
legs

Leg[]

As diferentes secções de viagem deste caminho.

lengthInMeters

number

O comprimento do caminho, em metros, de todo o caminho.

timeInSeconds

integer

O tempo total do caminho, em segundos, para percorrer entre a origem e o destino ao seguir este caminho.

Point

Um ponto dentro das instalações.

Name Tipo Description
latitude

number

a latitude do ponto

longitude

number

a longitude ponto

WayfindResult

O objeto devolvido por este pedido Wayfinding Path.

Name Tipo Description
noResultExplanation

NoResultExplanation

Caso não sejam encontrados caminhos, a paths matriz estará vazia. Se não for possível determinar o motivo pelo qual não foram encontrados caminhos, esta propriedade fornecerá uma explicação do motivo.

paths

Path[]

Uma matriz de resultados de caminho wayfinding. Será devolvida uma matriz vazia se não forem encontrados resultados.