Compartilhar via


Route - Post Route Directions Batch

Use para enviar um lote de consultas para a API Obter Instruções de Rota em uma única solicitação assíncrona.

A API Post Route Directions Batch é uma solicitação HTTP POST que envia lotes de consultas para a API Obter Instruções de Rota usando uma única solicitação assíncrona. Você pode chamar Route Directions Batch API para ser executada de forma assíncrona (assíncrona) ou síncrona (sincronização). A API assíncrona permite que o chamador lote até 700 consultas e sincronize a API até 100 consultas. Para chamar a API de Post Route Directions Batch em uma solicitação síncrona, consulte de Sincronização de Lotes de Direções pós-rota.

Enviar solicitação de lote assíncrona

A API assíncrona é apropriada para processar grandes volumes de solicitações de rota relativamente complexas

  • Ele permite a recuperação de resultados em uma chamada separada (vários downloads são possíveis).
  • A API assíncrona é otimizada para confiabilidade e não é esperada para ser executada em um tempo limite.
  • O número de itens em lote é limitado a 700 para essa API.

Quando você faz uma solicitação usando solicitação assíncrona, por padrão, o serviço retorna um código de resposta 202 ao longo de uma URL de redirecionamento no campo Local do cabeçalho de resposta. Essa URL deve ser verificada periodicamente até que os dados de resposta ou informações de erro estejam disponíveis. As respostas assíncronas são armazenadas por 24 horas. A URL de redirecionamento retorna uma resposta 404 se usada após o período de expiração.

Observe que a solicitação de lote assíncrona é uma operação de execução prolongada. Aqui está uma sequência típica de operações:

  1. O cliente envia uma solicitação de POST do Lote de Rotas para o Azure Mapas.
POST https://atlas.microsoft.com/route/directions/batch/json?api-version=1.0&subscription-key={subscription-key}
  1. O servidor responderá com um dos seguintes:

    HTTP 202 Accepted - A solicitação do Lote foi aceita.

    HTTP Error - Houve um erro ao processar sua solicitação do Lote. Isso pode ser um 400 Bad Request ou qualquer outro código de status Error.

  2. Se a solicitação em lote foi aceita com êxito, o cabeçalho Location na resposta contém a URL para baixar os resultados da solicitação em lote. Esse URI de status é semelhante ao seguinte:

GET https://atlas.microsoft.com/route/directions/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key} 
  1. O cliente emite uma solicitação de GET na URL de download obtida na Etapa 3 para baixar os resultados do lote.

Corpo POST para solicitação em lote

Para enviar as rotas consultas, você usará uma solicitação POST em que o corpo da solicitação conterá a matriz de batchItems no formato json e o cabeçalho Content-Type será definido como application/json. Aqui está um corpo de solicitação de exemplo contendo 3 rotas consultas:

{
    "batchItems": [
        { "query": "?query=47.620659,-122.348934:47.610101,-122.342015&travelMode=bicycle&routeType=eco&traffic=false" },
        { "query": "?query=40.759856,-73.985108:40.771136,-73.973506&travelMode=pedestrian&routeType=shortest" },
        { "query": "?query=48.923159,-122.557362:32.621279,-116.840362" }
    ]
}

Uma rotas consulta em um lote é apenas um de URL parcial sem o protocolo, a URL base, o caminho, a versão da api e a chave de assinatura. Ele pode aceitar qualquer um dos rotas com suporteparâmetros de URI. Os valores de cadeia de caracteres no rotas consulta devem ser escapados corretamente (por exemplo, " o caractere deve ser escapado com \ ) e também deve ser codificado corretamente em URL.

A API assíncrona permite que o chamador lote até 700 consultas e sincronize a API até 100 consultas e o lote deve conter pelo menos 1 consulta.

Baixar resultados do lote assíncrono

Para baixar os resultados do lote assíncrono, você emitirá uma solicitação GET para o ponto de extremidade de download em lote. Este de URL de download pode ser obtido do cabeçalho Location de uma solicitação em lote de POST bem-sucedida e se parece com o seguinte:

https://atlas.microsoft.com/route/directions/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}

Esta é a sequência típica de operações para baixar os resultados do lote:

  1. O cliente envia uma solicitação de GET usando a URL de download .

  2. O servidor responderá com um dos seguintes:

    HTTP 202 Accepted - A solicitação do Lote foi aceita, mas ainda está sendo processada. Tente novamente em algum tempo.

    HTTP 200 OK – Solicitação em lote processada com êxito. O corpo da resposta contém todos os resultados do lote.

Modelo de resposta em lote

O conteúdo de dados retornado é semelhante para solicitações assíncronas e de sincronização. Ao baixar os resultados de uma solicitação em lote assíncrona, se o lote tiver concluído o processamento, o corpo da resposta conterá a resposta em lote. Essa resposta em lote contém um componente summary que indica o totalRequests que faziam parte da solicitação em lote original e successfulRequestsou seja, consultas que foram executadas com êxito. A resposta em lote também inclui uma matriz de batchItems que contém uma resposta para cada consulta na solicitação em lote. O batchItems conterá os resultados exatamente na mesma ordem em que as consultas originais foram enviadas na solicitação em lote. Cada item em batchItems contém campos statusCode e response. Cada response em batchItems é de um dos seguintes tipos:

  • RouteDirections - Se a consulta foi concluída com êxito.

  • Error - Se a consulta falhou. A resposta conterá um code e um message nesse caso.

Aqui está um exemplo de Resposta em Lote com 1 bem-sucedido e 1 resultado com falha:

{
    "summary": {
        "successfulRequests": 1,
        "totalRequests": 2
    },
    "batchItems": [
        {
            "statusCode": 200,
            "response": {
                "routes": [
                    {
                        "summary": {
                            "lengthInMeters": 1758,
                            "travelTimeInSeconds": 387,
                            "trafficDelayInSeconds": 0,
                            "departureTime": "2018-07-17T00:49:56+00:00",
                            "arrivalTime": "2018-07-17T00:56:22+00:00"
                        },
                        "legs": [
                            {
                                "summary": {
                                    "lengthInMeters": 1758,
                                    "travelTimeInSeconds": 387,
                                    "trafficDelayInSeconds": 0,
                                    "departureTime": "2018-07-17T00:49:56+00:00",
                                    "arrivalTime": "2018-07-17T00:56:22+00:00"
                                },
                                "points": [
                                    {
                                        "latitude": 47.62094,
                                        "longitude": -122.34892
                                    },
                                    {
                                        "latitude": 47.62094,
                                        "longitude": -122.3485
                                    },
                                    {
                                        "latitude": 47.62095,
                                        "longitude": -122.3476
                                    }
                                ]
                            }
                        ],
                        "sections": [
                            {
                                "startPointIndex": 0,
                                "endPointIndex": 40,
                                "sectionType": "TRAVEL_MODE",
                                "travelMode": "bicycle"
                            }
                        ]
                    }
                ]
            }
        },
        {
            "statusCode": 400,
            "response":
            {
                "error":
                {
                    "code": "400 BadRequest",
                    "message": "Bad request: one or more parameters were incorrectly specified or are mutually exclusive."
                }
            }
        }
    ]
}
POST https://atlas.microsoft.com/route/directions/batch/json?api-version=1.0

Parâmetros de URI

Nome Em Obrigatório Tipo Description
format
path True

JsonFormat

Formato desejado da resposta. Há suporte apenas para json formato.

api-version
query True

string

Número de versão da API do Azure Mapas.

Cabeçalho da solicitação

Nome Obrigatório Tipo Description
x-ms-client-id

string

Especifica qual conta destina-se ao uso em conjunto com o modelo de segurança da ID do Microsoft Entra. Ele representa uma ID exclusiva para a conta do Azure Mapas e pode ser recuperado da API de Conta do plano de gerenciamento do Azure Mapas. Para usar a segurança da ID do Microsoft Entra no Azure Mapas, consulte os artigos de a seguir para obter diretrizes.

Corpo da solicitação

Nome Tipo Description
batchItems

BatchRequestItem[]

A lista de consultas a serem processadas.

Respostas

Nome Tipo Description
200 OK

RouteDirectionsBatchResult

Solicitação em lote processada com êxito. O corpo da resposta contém todos os resultados do lote.

202 Accepted

Com suporte apenas para solicitação assíncrona. Solicitação Aceita: a solicitação foi aceita para processamento. Use a URL no Cabeçalho de Localização para tentar novamente ou acessar os resultados.

Cabeçalhos

Location: string

Other Status Codes

ErrorResponse

Ocorreu um erro inesperado.

Segurança

AADToken

Estas são as Fluxos de do Microsoft Entra OAuth 2.0. Quando emparelhado com acesso baseado em função do Azure controle, ele pode ser usado para controlar o acesso às APIs REST do Azure Mapas. Os controles de acesso baseados em função do Azure são usados para designar o acesso a uma ou mais sub-recursos ou conta de recurso do Azure Mapas. Qualquer usuário, grupo ou entidade de serviço pode receber acesso por meio de uma função interna ou uma função personalizada composta por uma ou mais permissões para APIs REST do Azure Mapas.

Para implementar cenários, recomendamos exibir conceitos de autenticação. Em resumo, essa definição de segurança fornece uma solução para modelar aplicativos por meio de objetos capazes de controlar o acesso em APIs e escopos específicos.

Anotações

  • Essa definição de segurança requer o uso do cabeçalho x-ms-client-id para indicar a qual recurso do Azure Mapas o aplicativo está solicitando acesso. Isso pode ser adquirido da API de gerenciamento do Mapas.

O Authorization URL é específico para a instância de nuvem pública do Azure. Nuvens soberanas têm URLs de autorização exclusivas e configurações de ID do Microsoft Entra. * O controle de acesso baseado em função do Azure é configurado do plano de gerenciamento do Azure por meio do portal do Azure, do PowerShell, da CLI, dos SDKs do Azure ou das APIs REST. * O uso do SDK da Web do Azure Mapas permite a configuração baseada em configuração de um aplicativo para vários casos de uso.

Tipo: oauth2
Flow: implicit
URL de Autorização: https://login.microsoftonline.com/common/oauth2/authorize

Escopos

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

subscription-key

Essa é uma chave compartilhada provisionada quando você Criar uma conta do Azure Mapas no portal do Azure ou usando o PowerShell, a CLI, os SDKs do Azure ou a API REST.

Com essa chave, qualquer aplicativo pode acessar toda a API REST. Em outras palavras, essa chave pode ser usada como uma chave mestra na conta em que elas são emitidas.

Para aplicativos expostos publicamente, nossa recomendação é usar o aplicativos cliente confidenciais abordagem para acessar AS APIs REST do Azure Mapas para que sua chave possa ser armazenada com segurança.

Tipo: apiKey
Em: query

SAS Token

Esse é um token de assinatura de acesso compartilhado criado a partir da operação LISTA SAS no recurso do Azure Mapas por meio do plano de gerenciamento do Azure por meio do portal do Azure, do PowerShell, da CLI, dos SDKs do Azure ou das APIs REST.

Com esse token, qualquer aplicativo está autorizado a acessar com controles de acesso baseados em função do Azure e controle refinado para expiração, taxa e região(s) de uso para o token específico. Em outras palavras, o Token SAS pode ser usado para permitir que os aplicativos controlem o acesso de forma mais protegida do que a chave compartilhada.

Para aplicativos expostos publicamente, nossa recomendação é configurar uma lista específica de origens permitidas no de recursos da conta de mapa de para limitar o abuso de renderização e renovar regularmente o Token SAS.

Tipo: apiKey
Em: header

Exemplos

Successfully submit a route direction batch request

Solicitação de exemplo

POST https://atlas.microsoft.com/route/directions/batch/json?api-version=1.0

{
  "batchItems": [
    {
      "query": "?query=47.639987,-122.128384:47.621252,-122.184408:47.596437,-122.332000&routeType=fastest&travelMode=car&maxAlternatives=99"
    },
    {
      "query": "?query=47.620659,-122.348934:47.610101,-122.342015&travelMode=bicycle&routeType=eco&traffic=false"
    },
    {
      "query": "?query=40.759856,-73.985108:40.771136,-73.973506&travelMode=pedestrian&routeType=shortest"
    }
  ]
}

Resposta de exemplo

{
  "batchItems": [
    {
      "statusCode": 400,
      "response": {
        "error": {
          "code": "400 BadRequest",
          "message": "maxAlternatives parameter value should be between 0 and 5 inclusive"
        }
      }
    },
    {
      "statusCode": 200,
      "response": {
        "formatVersion": "0.0.12",
        "routes": [
          {
            "summary": {
              "lengthInMeters": 1754,
              "travelTimeInSeconds": 386,
              "trafficDelayInSeconds": 0,
              "departureTime": "2019-06-21T22:56:23+00:00",
              "arrivalTime": "2019-06-21T23:02:49+00:00"
            },
            "legs": [
              {
                "summary": {
                  "lengthInMeters": 1754,
                  "travelTimeInSeconds": 386,
                  "trafficDelayInSeconds": 0,
                  "departureTime": "2019-06-21T22:56:23+00:00",
                  "arrivalTime": "2019-06-21T23:02:49+00:00"
                },
                "points": [
                  {
                    "latitude": 47.62094,
                    "longitude": -122.34892
                  },
                  {
                    "latitude": 47.62094,
                    "longitude": -122.3485
                  },
                  {
                    "latitude": 47.62095,
                    "longitude": -122.3476
                  },
                  {
                    "latitude": 47.60995,
                    "longitude": -122.34174
                  },
                  {
                    "latitude": 47.61011,
                    "longitude": -122.342
                  }
                ]
              }
            ],
            "sections": [
              {
                "startPointIndex": 0,
                "endPointIndex": 44,
                "sectionType": "TRAVEL_MODE",
                "travelMode": "bicycle"
              }
            ]
          }
        ]
      }
    },
    {
      "statusCode": 200,
      "response": {
        "formatVersion": "0.0.12",
        "routes": [
          {
            "summary": {
              "lengthInMeters": 1772,
              "travelTimeInSeconds": 1276,
              "trafficDelayInSeconds": 0,
              "departureTime": "2019-06-21T22:56:23+00:00",
              "arrivalTime": "2019-06-21T23:17:38+00:00"
            },
            "legs": [
              {
                "summary": {
                  "lengthInMeters": 1772,
                  "travelTimeInSeconds": 1276,
                  "trafficDelayInSeconds": 0,
                  "departureTime": "2019-06-21T22:56:23+00:00",
                  "arrivalTime": "2019-06-21T23:17:38+00:00"
                },
                "points": [
                  {
                    "latitude": 40.75982,
                    "longitude": -73.98493
                  },
                  {
                    "latitude": 40.7601,
                    "longitude": -73.98483
                  },
                  {
                    "latitude": 40.75984,
                    "longitude": -73.98417
                  },
                  {
                    "latitude": 40.76047,
                    "longitude": -73.9837
                  },
                  {
                    "latitude": 40.77095,
                    "longitude": -73.9736
                  },
                  {
                    "latitude": 40.77114,
                    "longitude": -73.97356
                  }
                ]
              }
            ],
            "sections": [
              {
                "startPointIndex": 0,
                "endPointIndex": 47,
                "sectionType": "TRAVEL_MODE",
                "travelMode": "pedestrian"
              }
            ]
          }
        ]
      }
    }
  ],
  "summary": {
    "successfulRequests": 2,
    "totalRequests": 3
  }
}
operation-Location: URL to download the results of the long-running batch request.

Definições

Nome Description
BatchRequest

Esse tipo representa o corpo da solicitação para o serviço do Lote.

BatchRequestItem

Objeto de solicitação em lote

DelayMagnitude

A magnitude do atraso causado pelo incidente. Esses valores correspondem aos valores do campo de resposta ty da API de Detalhes de Incidentes de Tráfego .

DrivingSide

Indica a direção esquerda versus direita no ponto da manobra.

EffectiveSetting

Parâmetro efetivo ou dados usados ao chamar essa API de Rota.

ErrorAdditionalInfo

As informações adicionais do erro de gerenciamento de recursos.

ErrorDetail

O detalhe do erro.

ErrorResponse

Resposta de erro

GuidanceInstructionType

Tipo da instrução, por exemplo, girar ou alterar o formulário de estrada.

GuidanceManeuver

Um código que identifica a manobra.

JsonFormat

Formato desejado da resposta. Há suporte apenas para json formato.

JunctionType

O tipo da junção em que a manobra ocorre. Para rotatórias maiores, duas instruções separadas são geradas para entrar e sair da rotatória.

LatLongPair

Um local representado como latitude e longitude.

Response

O resultado da consulta. RouteDirections se a consulta for concluída com êxito, ErrorResponse caso contrário.

ResponseSectionType

Tipos de seção da resposta de rota relatada

ResponseTravelMode

Modo de viagem para a rota calculada. O valor será definido como other se o modo de transporte solicitado não for possível nesta seção

Route
RouteDirectionsBatchItem

Um item retornado da chamada de serviço Do Lote de Direções de Rota.

RouteDirectionsBatchResult

Esse objeto é retornado de uma chamada de serviço do Lote de Direções de Rota bem-sucedida.

RouteGuidance

Contém elementos relacionados à orientação. Esse campo só está presente quando as diretrizes foram solicitadas e estão disponíveis.

RouteInstruction

Um conjunto de atributos que descrevem uma manobra, por exemplo, "Virar à direita", "Manter a esquerda", "Pegar a balsa", "Pegar a auto-estrada", "Chegar".

RouteInstructionGroup

Agrupa uma sequência de elementos de instrução relacionados uns aos outros. O intervalo de sequência é restrito com firstInstructionIndex e lastInstructionIndex. Quando mensagens de texto legíveis por humanos são solicitadas para orientação (instructionType=text ou tagged), o grupo de instruções tem uma mensagem de resumo retornada quando disponível.

RouteLeg

Uma descrição de uma parte de uma rota, composta por uma lista de pontos. Cada ponto de passagem adicional fornecido na solicitação resultará em uma etapa adicional na rota retornada.

RouteLegSummary

Objeto resumo da seção de rota.

RouteOptimizedWaypoint

Objeto de ponto de passagem otimizado.

RouteReport

Relata as configurações efetivas usadas na chamada atual.

RouteSection

As seções de rota contêm informações adicionais sobre partes de uma rota. Cada seção contém pelo menos os elementos startPointIndex, endPointIndexe sectionType.

RouteSectionTec

Detalhes do evento de tráfego, usando definições no TPEG2-TEC padrão. Pode conter effectCode e causa elementos.

RouteSectionTecCause

A causa do evento de tráfego. Pode conter elementos mainCauseCode e subCauseCode. Pode ser usado para definir a iconografia e as descrições.

RouteSummary

Objeto resumo

SimpleCategory

Tipo do incidente. No momento, pode ser JAM, ROAD_WORK, ROAD_CLOSURE ou OTHER. Consulte "tec" para obter informações detalhadas.

Summary

Resumo dos resultados da solicitação em lote

BatchRequest

Esse tipo representa o corpo da solicitação para o serviço do Lote.

Nome Tipo Description
batchItems

BatchRequestItem[]

A lista de consultas a serem processadas.

BatchRequestItem

Objeto de solicitação em lote

Nome Tipo Description
query

string

Esse parâmetro contém uma cadeia de caracteres de consulta usada para executar uma operação de geocodificação não estruturada. A cadeia de caracteres de consulta será passada verbatim para a API de pesquisa para processamento.

DelayMagnitude

A magnitude do atraso causado pelo incidente. Esses valores correspondem aos valores do campo de resposta ty da API de Detalhes de Incidentes de Tráfego .

Nome Tipo Description
0

string

Desconhecido.

1

string

Menor.

2

string

Moderado.

3

string

Principal.

4

string

Indefinido, usado para fechamentos de estradas e outros atrasos indefinidos.

DrivingSide

Indica a direção esquerda versus direita no ponto da manobra.

Nome Tipo Description
LEFT

string

Lado esquerdo.

RIGHT

string

Lado direito.

EffectiveSetting

Parâmetro efetivo ou dados usados ao chamar essa API de Rota.

Nome Tipo Description
key

string

Nome do parâmetro usado.

value

string

Valor do parâmetro usado.

ErrorAdditionalInfo

As informações adicionais do erro de gerenciamento de recursos.

Nome Tipo Description
info

object

As informações adicionais.

type

string

O tipo de informação adicional.

ErrorDetail

O detalhe do erro.

Nome 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 de erro

Nome Tipo Description
error

ErrorDetail

O objeto de erro.

GuidanceInstructionType

Tipo da instrução, por exemplo, girar ou alterar o formulário de estrada.

Nome Tipo Description
DIRECTION_INFO

string

Informações de direção.

LOCATION_ARRIVAL

string

Local de chegada.

LOCATION_DEPARTURE

string

Local de partida.

LOCATION_WAYPOINT

string

Localização do ponto de passagem.

ROAD_CHANGE

string

Mudança de estrada.

TURN

string

Virar.

GuidanceManeuver

Um código que identifica a manobra.

Nome Tipo Description
ARRIVE

string

Você chegou.

ARRIVE_LEFT

string

Você chegou. Seu destino é à esquerda.

ARRIVE_RIGHT

string

Você chegou. Seu destino está à direita.

BEAR_LEFT

string

Urso à esquerda.

BEAR_RIGHT

string

Urso direito.

DEPART

string

Deixar.

ENTER_FREEWAY

string

Pegue a auto-estrada.

ENTER_HIGHWAY

string

Pegue a estrada.

ENTER_MOTORWAY

string

Pegue a auto-estrada.

ENTRANCE_RAMP

string

Pegue a rampa.

FOLLOW

string

Seguir.

KEEP_LEFT

string

Mantenha-se à esquerda.

KEEP_RIGHT

string

Mantenha-se bem.

MAKE_UTURN

string

Faça um retorno.

MOTORWAY_EXIT_LEFT

string

Pegue a saída à esquerda.

MOTORWAY_EXIT_RIGHT

string

Pegue a saída para a direita.

ROUNDABOUT_BACK

string

Vá ao redor da rotatória.

ROUNDABOUT_CROSS

string

Cruze a rotatória.

ROUNDABOUT_LEFT

string

Na rotatória, pegue a saída à esquerda.

ROUNDABOUT_RIGHT

string

Na rotatória, pegue a saída à direita.

SHARP_LEFT

string

Vire para a esquerda afiada.

SHARP_RIGHT

string

Vire afiado para a direita.

STRAIGHT

string

Mantenha-se em linha reta.

SWITCH_MAIN_ROAD

string

Alterne para a estrada principal.

SWITCH_PARALLEL_ROAD

string

Alterne para a estrada paralela.

TAKE_EXIT

string

Pegue a saída.

TAKE_FERRY

string

Pegue a balsa.

TRY_MAKE_UTURN

string

Tente fazer um retorno.

TURN_LEFT

string

Vire para a esquerda.

TURN_RIGHT

string

Vire à direita.

WAYPOINT_LEFT

string

Você chegou ao ponto de passagem. Está à esquerda.

WAYPOINT_REACHED

string

Você chegou ao ponto de passagem.

WAYPOINT_RIGHT

string

Você chegou ao ponto de passagem. Está à direita.

JsonFormat

Formato desejado da resposta. Há suporte apenas para json formato.

Nome Tipo Description
json

string

o formato de intercâmbio de dados de notação de objeto JavaScript

JunctionType

O tipo da junção em que a manobra ocorre. Para rotatórias maiores, duas instruções separadas são geradas para entrar e sair da rotatória.

Nome Tipo Description
BIFURCATION

string

bifurcação

REGULAR

string

regular

ROUNDABOUT

string

rotatória

LatLongPair

Um local representado como latitude e longitude.

Nome Tipo Description
latitude

number

Propriedade Latitude

longitude

number

Propriedade Longitude

Response

O resultado da consulta. RouteDirections se a consulta for concluída com êxito, ErrorResponse caso contrário.

Nome Tipo Description
error

ErrorDetail

O objeto de erro.

formatVersion

string

Propriedade Format Version

optimizedWaypoints

RouteOptimizedWaypoint[]

Sequência otimizada de pontos de passagem. Ele mostra o índice da sequência de pontos de passagem fornecida pelo usuário para a lista original e otimizada. Por exemplo, uma resposta:

<optimizedWaypoints>
<waypoint providedIndex="0" optimizedIndex="1"/>
<waypoint providedIndex="1" optimizedIndex="2"/>
<waypoint providedIndex="2" optimizedIndex="0"/>
</optimizedWaypoints>

significa que a sequência original é [0, 1, 2] e a sequência otimizada é [1, 2, 0]. Como o índice começa em 0, o original é "primeiro, segundo, terceiro" enquanto o otimizado é "segundo, terceiro, primeiro".

report

RouteReport

Relata as configurações efetivas usadas na chamada atual.

routes

Route[]

Matriz de rotas

ResponseSectionType

Tipos de seção da resposta de rota relatada

Nome Tipo Description
CARPOOL

string

Seções da rota que exigem o uso de faixas de carona (HOV/Veículo de Alta Ocupação).

CAR_TRAIN

string

Seções da rota que são carros ou trens.

COUNTRY

string

Seções que indicam em quais países/regiões a rota está.

FERRY

string

Seções da rota que são balsas.

MOTORWAY

string

Seções da rota que são auto-estradas.

PEDESTRIAN

string

Seções da rota que são adequadas apenas para pedestres.

TOLL_ROAD

string

Seções da rota que exigem um pedágio a ser pago.

TOLL_VIGNETTE

string

Seções da rota que exigem uma vinheta de pedágio para estar presente.

TRAFFIC

string

Seções da rota que contêm informações de tráfego.

TRAVEL_MODE

string

Seções em relação ao parâmetro de solicitação travelMode.

TUNNEL

string

Seções da rota que são túneis.

URBAN

string

Seções da rota que estão localizadas em áreas urbanas.

ResponseTravelMode

Modo de viagem para a rota calculada. O valor será definido como other se o modo de transporte solicitado não for possível nesta seção

Nome Tipo Description
bicycle

string

As rotas retornadas são otimizadas para bicicletas, incluindo o uso de ciclovias.

bus

string

As rotas retornadas são otimizadas para ônibus, incluindo o uso de faixas somente de ônibus. Funcionalidade BETA.

car

string

As rotas retornadas são otimizadas para carros.

motorcycle

string

As rotas retornadas são otimizadas para motocicletas. Funcionalidade BETA.

other

string

O modo de transporte determinado não é possível nesta seção

pedestrian

string

As rotas retornadas são otimizadas para pedestres, incluindo o uso de calçadas.

taxi

string

As rotas retornadas são otimizadas para táxis. Funcionalidade BETA.

truck

string

As rotas retornadas são otimizadas para veículos comerciais, como para caminhões.

van

string

As rotas retornadas são otimizadas para vans. Funcionalidade BETA.

Route

Nome Tipo Description
guidance

RouteGuidance

Contém elementos relacionados à orientação. Esse campo só está presente quando as diretrizes foram solicitadas e estão disponíveis.

legs

RouteLeg[]

Matriz de pernas

sections

RouteSection[]

Matriz de seções

summary

RouteSummary

Objeto resumo

RouteDirectionsBatchItem

Um item retornado da chamada de serviço Do Lote de Direções de Rota.

Nome Tipo Description
response

Response

O resultado da consulta. RouteDirections se a consulta for concluída com êxito, ErrorResponse caso contrário.

statusCode

integer

Código de status da solicitação HTTP.

RouteDirectionsBatchResult

Esse objeto é retornado de uma chamada de serviço do Lote de Direções de Rota bem-sucedida.

Nome Tipo Description
batchItems

RouteDirectionsBatchItem[]

Matriz que contém os resultados do lote.

summary

Summary

Resumo dos resultados da solicitação em lote

RouteGuidance

Contém elementos relacionados à orientação. Esse campo só está presente quando as diretrizes foram solicitadas e estão disponíveis.

Nome Tipo Description
instructionGroups

RouteInstructionGroup[]

Agrupa uma sequência de elementos de instrução relacionados uns aos outros.

instructions

RouteInstruction[]

Uma lista de instruções que descrevem manobras.

RouteInstruction

Um conjunto de atributos que descrevem uma manobra, por exemplo, "Virar à direita", "Manter a esquerda", "Pegar a balsa", "Pegar a auto-estrada", "Chegar".

Nome Tipo Description
combinedMessage

string

Uma mensagem legível para a manobra combinada com a mensagem da próxima instrução. Às vezes, é possível combinar duas instruções sucessivas em uma única instrução, facilitando a execução. Quando esse for o caso, o sinalizador possibleCombineWithNext será verdadeiro. Por exemplo:

10. Turn left onto Einsteinweg/A10/E22 towards Ring Amsterdam
11. Follow Einsteinweg/A10/E22 towards Ring Amsterdam

O possível sinalizadorCombineWithNext na instrução 10 é verdadeiro. Isso indica aos clientes de diretrizes codificadas que ele pode ser combinado com a instrução 11. As instruções serão combinadas automaticamente para clientes que solicitam orientação legível por humanos. O campo combinedMessage contém a mensagem combinada:

Turn left onto Einsteinweg/A10/E22 towards Ring Amsterdam
then follow Einsteinweg/A10/E22 towards Ring Amsterdam.
countryCode

string

Código de país alfa-3 de 3 caracteres ISO 3166-1. Por exemplo, EUA.

drivingSide

DrivingSide

Indica a direção esquerda versus direita no ponto da manobra.

exitNumber

string

O número de uma saída da rodovia tomada pela manobra atual. Se uma saída tiver vários números de saída, eles serão separados por "," e possivelmente agregados por "-", por exemplo, "10, 13-15".

instructionType

GuidanceInstructionType

Tipo da instrução, por exemplo, girar ou alterar o formulário de estrada.

junctionType

JunctionType

O tipo da junção em que a manobra ocorre. Para rotatórias maiores, duas instruções separadas são geradas para entrar e sair da rotatória.

maneuver

GuidanceManeuver

Um código que identifica a manobra.

message

string

Uma mensagem legível para a manobra.

point

LatLongPair

Um local representado como latitude e longitude.

pointIndex

integer

O índice do ponto na lista de "pontos" de polilinha correspondente ao ponto da instrução.

possibleCombineWithNext

boolean

Opcionalmente, é possível combinar a instrução com a próxima. Isso pode ser usado para criar mensagens como "Virar para a esquerda e depois virar para a direita".

roadNumbers

string[]

O número da estrada dos próximos segmentos de estrada significativos após a manobra, ou das estradas a serem seguidas. Exemplo: ["E34", "N205"]

roundaboutExitNumber

integer

Isso indica qual saída tomar em uma rotatória.

routeOffsetInMeters

integer

Distância do início da rota até o ponto da instrução.

signpostText

string

O texto em uma placa de sinalização que é mais relevante para a manobra ou para a direção que deve ser seguida.

stateCode

string

Uma subdivisão (por exemplo, estado) do país, representada pela segunda parte de um código ISO 3166-2 . Isso só está disponível para alguns países/regiões, como EUA, Canadá e México.

street

string

Nome da rua do próximo segmento de estrada significativo após a manobra, ou da rua que deve ser seguida.

travelTimeInSeconds

integer

Tempo de viagem estimado até o ponto correspondente a routeOffsetInMeters.

turnAngleInDecimalDegrees

integer

Indica a direção de uma instrução. Se junctionType indicar uma instrução de turno:

  • 180 = U-turn
  • [-179, -1] = Curva à esquerda
  • 0 = Em linha reta (uma curva '0 graus')
  • [1, 179] = Curva à direita

Se junctionType indicar uma instrução de bifurcação:

  • <0 - mantenha-se à esquerda
  • >0 - mantenha a direita

RouteInstructionGroup

Agrupa uma sequência de elementos de instrução relacionados uns aos outros. O intervalo de sequência é restrito com firstInstructionIndex e lastInstructionIndex. Quando mensagens de texto legíveis por humanos são solicitadas para orientação (instructionType=text ou tagged), o grupo de instruções tem uma mensagem de resumo retornada quando disponível.

Nome Tipo Description
firstInstructionIndex

integer

Índice da primeira instrução nas instruções e pertencente a esse grupo.

groupLengthInMeters

integer

Comprimento do grupo.

groupMessage

string

Mensagem de resumo quando mensagens de texto legíveis por humanos são solicitadas para orientação (instructionType=text ou tagged).

lastInstructionIndex

integer

Índice da última instrução nas instruções e pertencente a esse grupo.

RouteLeg

Uma descrição de uma parte de uma rota, composta por uma lista de pontos. Cada ponto de passagem adicional fornecido na solicitação resultará em uma etapa adicional na rota retornada.

Nome Tipo Description
points

LatLongPair[]

Matriz de pontos

summary

RouteLegSummary

Objeto resumo da seção de rota.

RouteLegSummary

Objeto resumo da seção de rota.

Nome Tipo Description
arrivalTime

string

A hora de chegada estimada para a rota ou a perna. A hora está em UTC.

batteryConsumptionInkWh

number

Consumo estimado de energia elétrica em quilowatts-hora (kWh) usando o Modelo de Consumo Elétrico. Incluído se vehicleEngineType estiver definido como elétrico e constantSpeedConsumptionInkWhPerHundredkm for especificado. O valor de batteryConsumptionInkWh inclui a energia elétrica recuperada e, portanto, pode ser negativo (o que indica o ganho de energia). Se maxChargeInkWh e currentChargeInkWh forem especificados, a recuperação será limitada para garantir que o nível de carga da bateria nunca exceda maxChargeInkWh. Se nem maxChargeInkWh nem currentChargeInkWh forem especificados, a recuperação não treinada será assumida no cálculo de consumo.

departureTime

string

A hora de partida estimada para a rota ou a perna. A hora está em UTC.

fuelConsumptionInLiters

number

Consumo estimado de combustível em litros usando o Modelo de Consumo de Combustão. Incluído se vehicleEngineType estiver definido como de combustão e constantSpeedConsumptionInLitersPerHundredkm for especificado. O valor não será negativo.

historicTrafficTravelTimeInSeconds

integer

Tempo de viagem estimado calculado usando dados de tráfego histórico dependentes do tempo. Incluído somente se computeTravelTimeFor = tudo for usado na consulta.

lengthInMeters

integer

Propriedade Length In Meters

liveTrafficIncidentsTravelTimeInSeconds

integer

Tempo de viagem estimado calculado usando dados de velocidade em tempo real. Incluído somente se computeTravelTimeFor = tudo for usado na consulta.

noTrafficTravelTimeInSeconds

integer

Tempo de viagem estimado calculado como se não houvesse atrasos na rota devido às condições de tráfego (por exemplo, congestionamento). Incluído somente se computeTravelTimeFor = tudo for usado na consulta.

trafficDelayInSeconds

integer

Atraso estimado em segundos causado pelos incidentes em tempo real, de acordo com informações de tráfego. Para rotas planejadas com hora de partida no futuro, os atrasos são sempre 0. Para retornar tempos de viagem adicionais usando diferentes tipos de informações de tráfego, o parâmetro compute TravelTimeFor=tudo precisa ser adicionado.

travelTimeInSeconds

integer

Propriedade estimada do tempo de viagem em segundos que inclui o atraso devido ao tráfego em tempo real. Observe que mesmo quando traffic=false travelTimeInSeconds ainda inclui o atraso devido ao tráfego. Se DepartAt estiver no futuro, o tempo de viagem será calculado usando dados de tráfego histórico dependentes do tempo.

RouteOptimizedWaypoint

Objeto de ponto de passagem otimizado.

Nome Tipo Description
optimizedIndex

integer

Índice de ponto de passagem otimizado do sistema.

providedIndex

integer

Índice de ponto de passagem fornecido pelo usuário.

RouteReport

Relata as configurações efetivas usadas na chamada atual.

Nome Tipo Description
effectiveSettings

EffectiveSetting[]

Parâmetros ou dados efetivos usados ao chamar essa API de Rota.

RouteSection

As seções de rota contêm informações adicionais sobre partes de uma rota. Cada seção contém pelo menos os elementos startPointIndex, endPointIndexe sectionType.

Nome Tipo Description
delayInSeconds

integer

Atraso em segundos causado pelo incidente.

effectiveSpeedInKmh

integer

Velocidade efetiva do incidente em km/h, média em todo o seu comprimento.

endPointIndex

integer

Índice do último ponto (deslocamento 0) na rota à qual esta seção se aplica.

magnitudeOfDelay

DelayMagnitude

A magnitude do atraso causado pelo incidente. Esses valores correspondem aos valores do campo de resposta ty da API de Detalhes de Incidentes de Tráfego .

sectionType

ResponseSectionType

Tipos de seção da resposta de rota relatada

simpleCategory

SimpleCategory

Tipo do incidente. No momento, pode ser JAM, ROAD_WORK, ROAD_CLOSURE ou OTHER. Consulte "tec" para obter informações detalhadas.

startPointIndex

integer

Índice do primeiro ponto (deslocamento 0) na rota à qual esta seção se aplica.

tec

RouteSectionTec

Detalhes do evento de tráfego, usando definições no TPEG2-TEC padrão. Pode conter effectCode e causa elementos.

travelMode

ResponseTravelMode

Modo de viagem para a rota calculada. O valor será definido como other se o modo de transporte solicitado não for possível nesta seção

RouteSectionTec

Detalhes do evento de tráfego, usando definições no TPEG2-TEC padrão. Pode conter effectCode e causa elementos.

Nome Tipo Description
causes

RouteSectionTecCause[]

Matriz causas

effectCode

integer

O efeito no fluxo de tráfego. Contém um valor na tabela tec001:EffectCode, conforme definido no TPEG2-TEC padrão. Pode ser usado para eventos de tráfego de código de cor de acordo com a gravidade.

RouteSectionTecCause

A causa do evento de tráfego. Pode conter elementos mainCauseCode e subCauseCode. Pode ser usado para definir a iconografia e as descrições.

Nome Tipo Description
mainCauseCode

integer

A principal causa do evento de tráfego. Contém um valor na tabela tec002:CauseCode, conforme definido no padrão TPEG2-TEC.

subCauseCode

integer

O subcauso do evento de tráfego. Contém um valor na tabela de sub-causa definida pelo mainCauseCode, conforme definido no padrão TPEG2-TEC .

RouteSummary

Objeto resumo

Nome Tipo Description
arrivalTime

string

A hora de chegada estimada para a rota ou a perna. A hora está em UTC.

departureTime

string

A hora de partida estimada para a rota ou a perna. A hora está em UTC.

lengthInMeters

integer

Propriedade Length In Meters

trafficDelayInSeconds

integer

Atraso estimado em segundos causado pelos incidentes em tempo real, de acordo com informações de tráfego. Para rotas planejadas com hora de partida no futuro, os atrasos são sempre 0. Para retornar tempos de viagem adicionais usando diferentes tipos de informações de tráfego, o parâmetro compute TravelTimeFor=tudo precisa ser adicionado.

travelTimeInSeconds

integer

Propriedade estimada do tempo de viagem em segundos que inclui o atraso devido ao tráfego em tempo real. Observe que mesmo quando traffic=false travelTimeInSeconds ainda inclui o atraso devido ao tráfego. Se DepartAt estiver no futuro, o tempo de viagem será calculado usando dados de tráfego histórico dependentes do tempo.

SimpleCategory

Tipo do incidente. No momento, pode ser JAM, ROAD_WORK, ROAD_CLOSURE ou OTHER. Consulte "tec" para obter informações detalhadas.

Nome Tipo Description
JAM

string

Engarrafamento.

OTHER

string

Outro.

ROAD_CLOSURE

string

Fechamento da estrada.

ROAD_WORK

string

Trabalho rodoviário.

Summary

Resumo dos resultados da solicitação em lote

Nome Tipo Description
successfulRequests

integer

Número de solicitações bem-sucedidas no lote

totalRequests

integer

Número total de solicitações no lote