Package google.maps.routes.v1

Índice

RoutesPreferred

A API Routes Preferred.

ComputeCustomRoutes

rpc ComputeCustomRoutes(ComputeCustomRoutesRequest) returns (ComputeCustomRoutesResponse)

Com um conjunto de waypoints terminais e intermediários e um objetivo de rota, calcula a melhor rota para esse objetivo. Também retorna a rota mais rápida e a mais curta como rotas de referência.

Observação: esse método exige que você especifique uma máscara de campo de resposta na entrada. É possível fornecer a máscara de campo de resposta usando o parâmetro de URL $fields ou fields, ou o cabeçalho HTTP/gRPC X-Goog-FieldMask. Consulte os cabeçalhos e parâmetros de URL disponíveis. O valor é uma lista separada por vírgulas de caminhos de campo. Consulte esta documentação detalhada sobre como criar os caminhos de campo.

Por exemplo, neste método:

  • Máscara de campo de todos os campos disponíveis (para inspeção manual): X-Goog-FieldMask: *
  • Máscara de campo de distâncias, durações, tokens e informações de pedágio do trajeto: X-Goog-FieldMask: routes.route.distanceMeters,routes.route.duration,routes.token,routes.route.travelAdvisory.tollInfo

O Google não recomenda o uso da máscara de campo de resposta curinga (*) nem a especificação da máscara de campo no nível superior (routes) pelos seguintes motivos:

  • Selecionar apenas os campos necessários ajuda nosso servidor a salvar ciclos de computação, o que nos permite retornar o resultado com uma latência menor.
  • Selecionar apenas os campos necessários no job de produção garante uma latência estável. Podemos adicionar mais campos de resposta no futuro, e esses novos campos podem exigir tempo de computação extra. Se você selecionar todos os campos ou todos os campos no nível superior, poderá haver uma degradação no desempenho, porque qualquer campo novo que adicionarmos será incluído automaticamente na resposta.
  • Selecionar apenas os campos necessários resulta em uma resposta menor e, portanto, em maior capacidade de rede.
Escopos de autorização

Requer o seguinte escopo OAuth:

  • https://www.googleapis.com/auth/maps-platform.routespreferred

Para mais informações, consulte a Visão geral do OAuth 2.0.

ComputeRouteMatrix

rpc ComputeRouteMatrix(ComputeRouteMatrixRequest) returns (RouteMatrixElement)

Recebe uma lista de origens e destinos e retorna um fluxo com informações de trajeto para cada combinação de origem e destino.

Observação: esse método exige que você especifique uma máscara de campo de resposta na entrada. É possível fornecer a máscara de campo de resposta usando o parâmetro de URL $fields ou fields ou o cabeçalho HTTP/gRPC X-Goog-FieldMask. Consulte os parâmetros e cabeçalhos de URL disponíveis. O valor é uma lista separada por vírgulas de caminhos de campo. Consulte esta documentação detalhada sobre como criar os caminhos de campo.

Por exemplo, neste método:

  • Máscara de campo de todos os campos disponíveis (para inspeção manual): X-Goog-FieldMask: *
  • Máscara de campo de durações, distâncias, status, condição e índices de elementos de rotas (exemplo de configuração de produção): X-Goog-FieldMask: originIndex,destinationIndex,status,condition,distanceMeters,duration

É fundamental que você inclua status em sua máscara de campo. Caso contrário, todas as mensagens serão exibidas corretamente. O Google não recomenda o uso da máscara de campo de resposta curinga (*) pelos seguintes motivos:

  • Selecionar apenas os campos necessários ajuda nosso servidor a salvar ciclos de computação, o que nos permite retornar o resultado com uma latência menor.
  • Selecionar apenas os campos necessários no job de produção garante uma latência estável. Podemos adicionar mais campos de resposta no futuro, e esses novos campos podem exigir tempo de computação extra. Se você selecionar todos os campos ou todos os campos no nível superior, poderá haver uma degradação no desempenho, porque qualquer campo novo que adicionarmos será incluído automaticamente na resposta.
  • Selecionar apenas os campos necessários resulta em uma resposta menor e, portanto, em maior capacidade de rede.
Escopos de autorização

Requer o seguinte escopo OAuth:

  • https://www.googleapis.com/auth/maps-platform.routespreferred

Para mais informações, consulte a Visão geral do OAuth 2.0.

ComputeRoutes

rpc ComputeRoutes(ComputeRoutesRequest) returns (ComputeRoutesResponse)

Retorna a rota principal e rotas alternativas opcionais, considerando um conjunto de pontos de passagem finais e intermediários.

Observação: esse método exige que você especifique uma máscara de campo de resposta na entrada. É possível fornecer a máscara de campo de resposta usando o parâmetro de URL $fields ou fields, ou um cabeçalho HTTP/gRPC X-Goog-FieldMask. Consulte os cabeçalhos e parâmetros de URL disponíveis. O valor é uma lista separada por vírgulas de caminhos de campo. Consulte a documentação detalhada sobre como construir os caminhos de campo.

Por exemplo, neste método:

  • Máscara de campo de todos os campos disponíveis (para inspeção manual): X-Goog-FieldMask: *
  • Máscara de campo da duração, distância e polilinha no nível do trajeto (um exemplo de configuração de produção): X-Goog-FieldMask: routes.duration,routes.distanceMeters,routes.polyline.encodedPolyline

O Google desaconselha o uso da máscara de campo de resposta com caractere curinga (*) ou a especificação da máscara de campo no nível superior (routes), porque:

  • Selecionar apenas os campos necessários ajuda nosso servidor a salvar ciclos de computação, o que nos permite retornar o resultado com uma latência menor.
  • Selecionar apenas os campos necessários no job de produção garante uma latência estável. Podemos adicionar mais campos de resposta no futuro, e esses novos campos podem exigir tempo de computação extra. Se você selecionar todos os campos ou todos os campos no nível superior, poderá haver uma degradação no desempenho, porque qualquer campo novo que adicionarmos será incluído automaticamente na resposta.
  • Selecionar apenas os campos necessários resulta em uma resposta menor e, portanto, em maior capacidade de rede.
Escopos de autorização

Requer o seguinte escopo OAuth:

  • https://www.googleapis.com/auth/maps-platform.routespreferred

Para mais informações, consulte a Visão geral do OAuth 2.0.

ComputeCustomRoutesRequest

Mensagem de solicitação do ComputeCustomRoutes.

Campos
origin

Waypoint

Obrigatório. Ponto de passagem de origem.

destination

Waypoint

Obrigatório. Ponto de passagem de destino.

intermediates[]

Waypoint

Opcional. Um conjunto de waypoints ao longo do trajeto (excluindo pontos de terminal), para parada ou passagem. Até 25 waypoints intermediários são permitidos.

travel_mode

RouteTravelMode

Opcional. Especifica o modo de transporte. Somente DRIVE e "TWO_WHEELER" são aceitos.

routing_preference

RoutingPreference

Opcional. Especifica como calcular o trajeto. O servidor tenta usar a preferência de roteamento selecionada para calcular a rota. Se a preferência de roteamento resultar em um erro ou em uma latência extralonga, um erro será retornado. Essa opção só pode ser especificada quando travel_mode é DRIVE ou TWO_WHEELER. Caso contrário, a solicitação falha.

polyline_quality

PolylineQuality

Opcional. Especifica sua preferência pela qualidade da polilinha.

polyline_encoding

PolylineEncoding

Opcional. Especifica a codificação preferencial para a polilinha.

departure_time

Timestamp

Opcional. O horário de partida. Se você não definir esse valor, ele vai ser definido como o horário em que você fez a solicitação. Se você definir esse valor para um horário que já ocorreu, a solicitação vai falhar.

route_modifiers

RouteModifiers

Opcional. Um conjunto de condições a serem atendidas que afetam a forma como os trajetos são calculados.

route_objective

RouteObjective

Obrigatório. Um objetivo de rota para otimização.

language_code

string

Opcional. O código de idioma BCP-47, como "pt-BR" ou "en-US". Para saber mais, consulte Identificador de localidade Unicode. Consulte Compatibilidade de idiomas para ver a lista de idiomas compatíveis. Quando você não fornece esse valor, o idioma de exibição é inferido com base no local da solicitação de trajeto.

units

Units

Opcional. Especifica as unidades de medida dos campos de exibição. Isso inclui o campo instruction em NavigationInstruction. As unidades de medida usadas para a rota, o trecho, a distância percorrida e a duração não são afetadas por esse valor. Se você não fornecer esse valor, as unidades de exibição serão inferidas com base no local da solicitação.

ComputeCustomRoutesResponse

Mensagem de resposta ComputeCustomRoutes.

Campos
routes[]

CustomRoute

Os "melhores" trajetos para o objetivo de trajeto de entrada.

fastest_route

CustomRoute

O trajeto de referência mais rápido.

shortest_route

CustomRoute

A rota de referência mais curta.

fallback_info

FallbackInfo

Informações de fallback para rotas personalizadas.

FallbackInfo

Encapsula informações de fallback para ComputeCustomRoutes. O ComputeCustomRoutes executa dois tipos de substitutos:

  1. Se não for possível calcular a rota usando o routing_preference solicitado pelo cliente, o sistema vai usar outro modo de roteamento. Nesse caso, fallback_routing_mode e routing_mode_fallback_reason são usados para comunicar o modo de roteamento substituto usado, bem como o motivo.

  2. Se não for possível calcular a "melhor" rota para o objetivo especificado pelo cliente, ela poderá escolher outro objetivo. fallback_route_objective é usado para comunicar o objetivo da rota substituta.

Campos
routing_mode

FallbackRoutingMode

Modo de roteamento usado para a resposta. Se o substituto foi acionado, o modo pode ser diferente da preferência de roteamento definida na solicitação original do cliente.

routing_mode_reason

FallbackReason

O motivo pelo qual a resposta alternativa foi usada em vez da resposta original. Esse campo só é preenchido quando o modo alternativo é acionado e a resposta alternativa é retornada.

route_objective

FallbackRouteObjective

O objetivo da rota usado para a resposta. Se o fallback tiver sido acionado, o objetivo poderá ser diferente do objetivo de rota fornecido na solicitação original do cliente.

FallbackRouteObjective

O RouteObjective usado para a resposta.

Enums
FALLBACK_ROUTE_OBJECTIVE_UNSPECIFIED Objetivo da rota substituta não especificado.
FALLBACK_RATECARD_WITHOUT_TOLL_PRICE_DATA Se o cliente solicitar RateCard e definir include_tolls como verdadeiro, e o Google não tiver dados de preço de pedágio para a rota, a API vai voltar para RateCard sem considerar o preço do pedágio.

ComputeRouteMatrixRequest

Mensagem de solicitação ComputeRouteMatrix

Campos
origins[]

RouteMatrixOrigin

Obrigatório. Matriz de origens, que determina as linhas da matriz de resposta. Várias restrições de tamanho se aplicam à cardinalidade de origens e destinos:

  • O número de elementos (origens × destinos) não pode ser maior que 625 em nenhum caso.
  • O número de elementos (origens × destinos) não pode ser maior que 100 se routing_preference estiver definido como TRAFFIC_AWARE_OPTIMAL.
  • O número de pontos de passagem (origens + destinos) especificados como place_id não pode ser maior que 50.
destinations[]

RouteMatrixDestination

Obrigatório. Matriz de destinos, que determina as colunas da matriz de resposta.

travel_mode

RouteTravelMode

Opcional. Especifica o meio de transporte.

routing_preference

RoutingPreference

Opcional. Especifica como calcular o trajeto. O servidor tenta usar a preferência de roteamento selecionada para calcular a rota. Se a preferência de roteamento resultar em um erro ou em uma latência extralonga, um erro será retornado. Essa opção só pode ser especificada quando travel_mode é DRIVE ou TWO_WHEELER. Caso contrário, a solicitação falha.

departure_time

Timestamp

Opcional. O horário de partida. Se você não definir esse valor, o padrão será o horário em que você fez a solicitação. Se você definir esse valor para um horário que já ocorreu, a solicitação vai falhar.

ComputeRoutesRequest

Mensagem de solicitação ComputeRoutes.

Campos
origin

Waypoint

Obrigatório. Ponto de passagem de origem.

destination

Waypoint

Obrigatório. Ponto de passagem de destino.

intermediates[]

Waypoint

Opcional. Um conjunto de waypoints ao longo do trajeto (excluindo pontos de terminal), para parada ou passagem. Até 25 waypoints intermediários são permitidos.

travel_mode

RouteTravelMode

Opcional. Especifica o modo de transporte.

routing_preference

RoutingPreference

Opcional. Especifica como calcular a rota. O servidor tenta usar a preferência de roteamento selecionada para calcular a rota. Se a preferência de roteamento resultar em um erro ou uma latência extra longa, um erro será retornado. Só é possível especificar essa opção quando travel_mode é DRIVE ou TWO_WHEELER. Caso contrário, a solicitação vai falhar.

polyline_quality

PolylineQuality

Opcional. Especifica sua preferência pela qualidade da polilinha.

polyline_encoding

PolylineEncoding

Opcional. Especifica a codificação preferencial para a polilinha.

departure_time

Timestamp

Opcional. O horário de partida. Se você não definir esse valor, ele vai ser definido como o horário em que você fez a solicitação. Se você definir esse valor para um horário que já ocorreu, a solicitação vai falhar.

compute_alternative_routes

bool

Opcional. Especifica se é necessário calcular rotas alternativas além da rota. Nenhuma rota alternativa é retornada para solicitações com waypoints intermediários.

route_modifiers

RouteModifiers

Opcional. Um conjunto de condições a serem atendidas que afetam a forma como os trajetos são calculados.

language_code

string

Opcional. O código de idioma BCP-47, como "pt-BR" ou "en-US". Para saber mais, consulte Identificador de localidade Unicode. Consulte Suporte a idiomas para conferir a lista de idiomas aceitos. Quando você não fornece esse valor, o idioma de exibição é inferido com base no local da solicitação de rota.

units

Units

Opcional. Especifica as unidades de medida para os campos de exibição. Isso inclui o campo instruction em NavigationInstruction. As unidades de medida usadas para trajeto, trecho, distância do passo e duração não são afetadas por esse valor. Se você não fornecer esse valor, as unidades de exibição serão inferidas do local da solicitação.

optimize_waypoint_order

bool

Se OptimizeWaypointOrder for definido como true, será feita uma tentativa de reordenar os waypoints intermediários especificados para minimizar o custo total do trajeto. Se algum dos waypoints intermediários for via waypoint, a solicitação vai falhar. Use ComputeRoutesResponse.Routes.optimized_intermediate_waypoint_index para encontrar a nova ordem. Se routes.optimized_intermediate_waypoint_index não for solicitado no cabeçalho X-Goog-FieldMask, a solicitação falhará. Se optimize_waypoint_order for definido como falso, ComputeRoutesResponse.optimized_intermediate_waypoint_index estará vazio.

ComputeRoutesResponse

ComputeRoutes a mensagem de resposta.

Campos
routes[]

Route

Contém uma matriz de rotas computadas (até três) quando você especifica compute_alternatives_routes e apenas uma rota quando não faz isso. Quando essa matriz contém várias entradas, a primeira é o trajeto mais recomendado. Se a matriz estiver vazia, significa que não foi possível encontrar uma rota.

fallback_info

FallbackInfo

Em alguns casos, quando o servidor não consegue computar os resultados da rota com todas as preferências de entrada, ele pode optar por usar uma forma de computação diferente. Quando o modo substituto é usado, esse campo contém informações detalhadas sobre a resposta substituta. Caso contrário, este campo não será definido.

CustomRoute

Encapsula uma rota personalizada calculada com base no objetivo do trajeto especificado pelo cliente. CustomRoute contém uma rota e um token de rota, que podem ser transmitidos ao NavSDK para reconstruir a rota personalizada para a navegação passo a passo.

Campos
route

Route

A rota considerada "melhor" para o objetivo de rota de entrada.

token

string

O token de rota codificado em base64 seguro para a Web que pode ser transmitido ao NavSDK, o que permite que o NavSDK reconstrua a rota durante a navegação e, no caso de reencaminhamento, respeite a intenção original quando RoutesPreferred ComputeCustomRoutes é chamado. Os clientes devem tratar esse token como um blob opaco.

FallbackInfo

Informações relacionadas a como e por que um resultado alternativo foi usado. Se esse campo estiver definido, significa que o servidor usou um modo de roteamento diferente do seu modo preferencial como substituto.

Campos
routing_mode

FallbackRoutingMode

Modo de roteamento usado para a resposta. Se o substituto foi acionado, o modo pode ser diferente da preferência de roteamento definida na solicitação original do cliente.

reason

FallbackReason

O motivo pelo qual a resposta substituta foi usada em vez da resposta original. Esse campo só é preenchido quando o modo alternativo é acionado e a resposta alternativa é retornada.

FallbackReason

Motivos para usar a resposta substituta.

Enums
FALLBACK_REASON_UNSPECIFIED Nenhum motivo de substituição especificado.
SERVER_ERROR Ocorreu um erro no servidor ao calcular os trajetos com seu modo de trajeto preferido, mas conseguimos retornar um resultado calculado por um modo alternativo.
LATENCY_EXCEEDED Não foi possível concluir o cálculo com o modo de roteamento preferido a tempo, mas conseguimos retornar um resultado calculado por um modo alternativo.

FallbackRoutingMode

Modo de roteamento real usado para a resposta substituta retornada.

Enums
FALLBACK_ROUTING_MODE_UNSPECIFIED Não utilizado.
FALLBACK_TRAFFIC_UNAWARE Indica que o modo de roteamento TRAFFIC_UNAWARE foi usado para calcular a resposta.
FALLBACK_TRAFFIC_AWARE Indica que o modo de roteamento TRAFFIC_AWARE foi usado para calcular a resposta.

Local

Encapsula um local (um ponto geográfico e um título opcional).

Campos
lat_lng

LatLng

As coordenadas geográficas do ponto de passagem.

heading

Int32Value

A orientação da bússola associada à direção do fluxo do tráfego. Este valor especifica o lado da estrada a ser usado para embarque e desembarque. Os valores de direção podem ser de 0 a 360, onde 0 especifica uma orientação para o norte, 90 especifica uma orientação para o leste e assim por diante. Esse campo só pode ser usado para os modos de transporte DRIVE e TWO_WHEELER.

Maneuver

Um conjunto de valores que especificam a ação de navegação a ser realizada na etapa atual (por exemplo, virar à esquerda, entrar na via ou seguir em frente).

Enums
MANEUVER_UNSPECIFIED Não utilizado.
TURN_SLIGHT_LEFT Vire um pouco para a esquerda.
TURN_SHARP_LEFT Vire bruscamente para a esquerda.
UTURN_LEFT Faça um retorno à esquerda.
TURN_LEFT Vire à esquerda.
TURN_SLIGHT_RIGHT Vire um pouco para a direita.
TURN_SHARP_RIGHT Vire acentuada para a direita.
UTURN_RIGHT Faça uma curva para a direita.
TURN_RIGHT Vire à direita.
STRAIGHT Vá direto.
RAMP_LEFT Pegue a rampa da esquerda.
RAMP_RIGHT Pegue a rampa da direita.
MERGE Entrar na via.
FORK_LEFT Pegue a bifurcação da esquerda.
FORK_RIGHT Pegue a bifurcação da direita.
FERRY Pegue a balsa.
FERRY_TRAIN Pegue o trem que leva à balsa.
ROUNDABOUT_LEFT Vire à esquerda na rotatória.
ROUNDABOUT_RIGHT Vire à direita na rotatória.
DEPART Manobra inicial.
NAME_CHANGE Usado para indicar uma mudança no nome da rua.
Campos
maneuver

Maneuver

Agrupa as instruções de navegação da etapa atual (por exemplo, virar à esquerda, mesclar ou reto). Esse campo determina o ícone a ser exibido.

instructions

string

Instruções para fazer isso.

Polilinha

Encapsula uma polilinha codificada.

Campos
Campo de união polyline_type. Encapsula o tipo de polilinha. O padrão é "encoded_polyline". polyline_type pode ser apenas de um dos tipos a seguir:
encoded_polyline

string

A codificação de string da polilinha usando o algoritmo de codificação de polilinha.

geo_json_linestring

Struct

Especifica uma poligonal usando o formato de linha GeoJSON.

PolylineEncoding

Especifica o tipo preferido de polilinha a ser retornado.

Enums
POLYLINE_ENCODING_UNSPECIFIED Nenhuma preferência de tipo de polilinha foi especificada. O valor padrão é ENCODED_POLYLINE.
ENCODED_POLYLINE Especifica uma polilinha codificada usando o algoritmo de codificação de polilinha.
GEO_JSON_LINESTRING Especifica uma poligonal usando o formato de linha GeoJSON.

PolylineQuality

Um conjunto de valores que especifica a qualidade da poligonal.

Enums
POLYLINE_QUALITY_UNSPECIFIED Nenhuma preferência de qualidade de poligonal especificada. O valor padrão é OVERVIEW.
HIGH_QUALITY Especifica uma polilinha de alta qualidade, que é composta usando mais pontos do que OVERVIEW, ao custo do aumento do tamanho da resposta. Use esse valor quando precisar de mais precisão.
OVERVIEW Especifica uma polilinha de visão geral, composta por um pequeno número de pontos. Use esse valor ao mostrar uma visão geral do trajeto. O uso dessa opção tem uma latência de solicitação menor em comparação com o uso da opção HIGH_QUALITY.

Rota

Encapsula um trajeto, que consiste em uma série de segmentos de estrada conectados que unem waypoints iniciais, finais e intermediários.

Campos
legs[]

RouteLeg

Uma coleção de trechos (segmentos de caminho entre waypoints) que compõem o trajeto. Cada trecho corresponde à viagem entre dois waypoints diferentes do via. Por exemplo, um trajeto sem waypoints intermediários tem apenas um trecho. Um trajeto que inclui um waypoint intermediário que não é via tem dois trechos. Uma rota que inclui um ponto de passagem intermediário via tem um trecho. A ordem das etapas corresponde à ordem dos waypoints de origin a intermediates a destination.

distance_meters

int32

A distância de viagem do trajeto, em metros.

duration

Duration

O tempo necessário para navegar no trajeto. Se você definir routing_preference como TRAFFIC_UNAWARE, esse valor será igual a static_duration. Se você definir routing_preference como TRAFFIC_AWARE ou TRAFFIC_AWARE_OPTIMAL, esse valor será calculado considerando as condições de trânsito.

static_duration

Duration

A duração da viagem pela rota sem considerar as condições de trânsito.

polyline

Polyline

A polilinha geral do trajeto. Essa polilinha é a polilinha combinada de todas as legs.

description

string

Uma descrição do trajeto.

warnings[]

string

Uma matriz de avisos a serem mostrados ao exibir a rota.

viewport

Viewport

A caixa delimitadora da janela de visualização da polilinha.

travel_advisory

RouteTravelAdvisory

Informações adicionais sobre o trajeto.

optimized_intermediate_waypoint_index[]

int32

Se ComputeRoutesRequest.optimize_waypoint_order for definido como verdadeiro, este campo conterá a ordem otimizada dos waypoints intermediários. Caso contrário, este campo ficará vazio. Por exemplo, suponha que a origem seja: LA; intermediários: Dallas, Bangor, Phoenix; destino: Nova York; e a ordem otimizada de pontos intermediários seja: Phoenix, Dallas, Bangor. Então, esse campo contém os valores [2, 0, 1]. O índice começa com 0 para o primeiro ponto de passagem intermediário.

RouteLeg

Agrupa um segmento entre waypoints diferentes de via.

Campos
distance_meters

int32

A distância percorrida do trecho da rota, em metros.

duration

Duration

O tempo necessário para navegar no trecho. Se route_preference for definido como TRAFFIC_UNAWARE, esse valor será o mesmo que static_duration. Se o route_preference for TRAFFIC_AWARE ou TRAFFIC_AWARE_OPTIMAL, esse valor será calculado considerando as condições de tráfego.

static_duration

Duration

A duração do percurso ao longo do trecho, calculada sem considerar as condições de trânsito.

polyline

Polyline

A poligonal geral para esta etapa. Isso inclui cada polilinha de step.

start_location

Location

O local de início deste trecho. Ele pode ser diferente do origin fornecido. Por exemplo, quando o origin fornecido não está perto de uma via, isso é um ponto na via.

end_location

Location

O local de término deste trecho. Isso pode ser diferente do destination fornecido. Por exemplo, quando o destination fornecido não está perto de uma via, isso é um ponto na via.

steps[]

RouteLegStep

Uma matriz de etapas denotando segmentos neste trecho. Cada etapa representa uma instrução de navegação.

travel_advisory

RouteLegTravelAdvisory

Encapsula as informações adicionais sobre as quais o usuário precisa ser informado, como possíveis restrições de zona de trânsito etc. em um trecho da rota.

RouteLegStep

Encapsula um segmento de uma RouteLeg. Uma etapa corresponde a uma única instrução de navegação. Os trechos de rota são formados por etapas.

Campos
distance_meters

int32

A distância percorrida nessa etapa, em metros. Em algumas circunstâncias, esse campo pode não ter um valor.

static_duration

Duration

A duração da viagem nessa etapa sem considerar as condições de trânsito. Em algumas circunstâncias, esse campo pode não ter um valor.

polyline

Polyline

A polilinha associada a esta etapa.

start_location

Location

O local de início desta etapa.

end_location

Location

O local final desta etapa.

navigation_instruction

NavigationInstruction

Instruções de navegação.

travel_advisory

RouteLegStepTravelAdvisory

Encapsula as informações adicionais sobre as quais o usuário precisa ser informado, como possíveis restrições de zona de trânsito em uma etapa do trajeto.

RouteLegStepTravelAdvisory

Agrupa as informações adicionais sobre as quais o usuário precisa ser informado, como a possível restrição de zona de tráfego em uma etapa de trecho.

Campos
speed_reading_intervals[]

SpeedReadingInterval

OBSERVAÇÃO: esse campo não está preenchido no momento.

RouteLegTravelAdvisory

Agrupa as informações adicionais sobre as quais o usuário precisa ser informado, como possível restrição à zona de trânsito etc. em um trecho do trajeto.

Campos
toll_info

TollInfo

Agrupa informações sobre pedágios no RouteLeg específico. Esse campo só é preenchido se houver pedágios na RouteLeg. Se esse campo estiver definido, mas o subcampo estimated_price não for preenchido, a via terá pedágios, mas não será possível saber um preço estimado. Se esse campo não existir, não haverá pedágio no RouteLeg.

speed_reading_intervals[]

SpeedReadingInterval

Intervalos de leitura de velocidade que detalham a densidade de tráfego. Aplicável no caso das preferências de roteamento TRAFFIC_AWARE e TRAFFIC_AWARE_OPTIMAL. Os intervalos cobrem toda a polilinha da RouteLeg sem sobreposição. O ponto de início de um intervalo especificado é o mesmo que o ponto de término do intervalo anterior.

Exemplo:

polyline: A ---- B ---- C ---- D ---- E ---- F ---- G
speed_reading_intervals: [A,C), [C,D), [D,G).

RouteMatrixDestination

Um único destino para ComputeRouteMatrixRequest

Campos
waypoint

Waypoint

Obrigatório. Ponto de referência do destino

RouteMatrixElement

Encapsula as informações de rota computadas para um par de origem/destino na API ComputeRouteMatrix. Esse proto pode ser transmitido para o cliente.

Campos
origin_index

int32

Índice baseado em zero da origem na solicitação.

destination_index

int32

Índice de destino com base em zero na solicitação.

status

Status

Código de status de erro para esse elemento.

condition

RouteMatrixElementCondition

Indica se o trajeto foi encontrado ou não. Independente do status.

distance_meters

int32

A distância percorrida da rota, em metros.

duration

Duration

O tempo necessário para navegar no trajeto. Se você definir routing_preference como TRAFFIC_UNAWARE, esse valor será igual a static_duration. Se você definir routing_preference como TRAFFIC_AWARE ou TRAFFIC_AWARE_OPTIMAL, esse valor será calculado considerando as condições de trânsito.

static_duration

Duration

A duração do percurso pelo trajeto sem considerar as condições de trânsito.

travel_advisory

RouteTravelAdvisory

Informações adicionais sobre o trajeto. Por exemplo: informações de restrição e pedágios

fallback_info

FallbackInfo

Em alguns casos, quando o servidor não consegue computar a rota com as preferências informadas para esse par de origem/destino específico, ele pode voltar a usar um modo de cálculo diferente. Quando o modo alternativo é usado, esse campo contém informações detalhadas sobre a resposta alternativa. Caso contrário, este campo não será definido.

RouteMatrixElementCondition

A condição do trajeto que está sendo retornado.

Enums
ROUTE_MATRIX_ELEMENT_CONDITION_UNSPECIFIED Usado apenas quando o status do elemento não está OK.
ROUTE_EXISTS Uma rota foi encontrada e as informações correspondentes foram preenchidas para o elemento.
ROUTE_NOT_FOUND Nenhum trajeto foi encontrado. Os campos que contêm informações sobre o trajeto, como distance_meters ou duration, não serão preenchidos no elemento.

RouteMatrixOrigin

Uma única origem para ComputeRouteMatrixRequest

Campos
waypoint

Waypoint

Obrigatório. Ponto de referência da origem

route_modifiers

RouteModifiers

Opcional. Modificadores para cada trajeto que usa isso como origem

RouteModifiers

Encapsula um conjunto de condições opcionais a serem atendidas ao calcular as rotas.

Campos
avoid_tolls

bool

Quando definido como verdadeiro, evita vias com pedágio onde for razoável, preferência a trajetos que não contenham vias com pedágio. Aplicável apenas aos meios de transporte DRIVE e TWO_WHEELER.

avoid_highways

bool

Quando definido como "true", evita rodovias sempre que possível, dando preferência a rotas que não contenham rodovias. Aplicável apenas aos modos de transporte DRIVE e TWO_WHEELER.

avoid_ferries

bool

Quando definido como "true", evita balsas sempre que possível, dando preferência a rotas que não as contenham. Aplicável apenas aos meios de transporte DRIVE e TWO_WHEELER.

avoid_indoor

bool

Quando definida como "true", evita a navegação em ambientes internos quando razoável, dando preferência a rotas que não contêm navegação interna. Aplicável apenas ao modo de viagem WALK.

vehicle_info

VehicleInfo

Especifica as informações do veículo.

toll_passes[]

TollPass

Encapsula informações sobre passes de pedágio. Se os passes livres forem fornecidos, a API vai tentar retornar o preço do cartão. Se não houver cartões de pedágio, a API vai tratar o cartão como desconhecido e tentar retornar o preço em dinheiro. Aplicável apenas aos meios de transporte DRIVE e TWO_WHEELER.

RouteObjective

Agrupa um objetivo para otimizar por ComputeCustomRoutes.

Campos
Campo de união objective. O objetivo da rota. objective pode ser apenas de um dos tipos a seguir:
rate_card

RateCard

O objetivo da tabela de preços.

RateCard

Encapsula um objetivo de trajeto RateCard.

Campos
cost_per_minute

MonetaryCost

Opcional. Custo por minuto.

cost_per_km

MonetaryCost

Opcional. Custo por quilômetro.

include_tolls

bool

Opcional. Indica se o custo do pedágio será incluído no custo geral.

MonetaryCost

Agrupa o custo usado na tabela de preços.

Campos
value

double

Obrigatório. O valor do custo na moeda local inferido da solicitação.

RouteTravelAdvisory

Encapsula as informações adicionais sobre as quais o usuário precisa ser informado, como possíveis restrições de zona de tráfego etc.

Campos
toll_info

TollInfo

Encapsula informações sobre pedágios na rota. Esse campo só é preenchido quando há pedágios no trajeto. Se esse campo estiver definido, mas o subcampo estimated_price não estiver preenchido, a estrada terá pedágios, mas não saberemos o preço estimado. Se esse campo não for definido, não haverá pedágio no trajeto.

speed_reading_intervals[]

SpeedReadingInterval

Intervalos de leitura de velocidade que detalham a densidade de tráfego. Aplicável no caso de preferências de roteamento TRAFFIC_AWARE e TRAFFIC_AWARE_OPTIMAL. Os intervalos abrangem toda a polilinha do trajeto sem sobreposição. O ponto de início de um intervalo especificado é o mesmo que o ponto de término do intervalo anterior.

Exemplo:

polyline: A ---- B ---- C ---- D ---- E ---- F ---- G
speed_reading_intervals: [A,C), [C,D), [D,G).

RouteTravelMode

Um conjunto de valores usados para especificar o modo de transporte.

Enums
TRAVEL_MODE_UNSPECIFIED Nenhum meio de transporte especificado. O valor padrão é DRIVE.
DRIVE Viajar de carro de passeio.
BICYCLE Viaje de bicicleta.
WALK Caminhar.
TWO_WHEELER Veículo motorizado de duas rodas. Por exemplo, motocicleta. Isso é diferente do modo de viagem BICYCLE, que abrange o modo impulsionado por humanos.
TAXI

Viajar de táxi licenciado, o que pode permitir que o veículo utilize as pistas designadas em algumas áreas.

O modo TAXI é um recurso experimental. Se o cliente solicitar uma rota de táxi em uma cidade onde os dados de faixa de táxi não estiverem disponíveis, uma rota de carro será retornada.

RoutingPreference

Um conjunto de valores que especifica fatores a serem considerados no cálculo do trajeto.

Enums
ROUTING_PREFERENCE_UNSPECIFIED Nenhuma preferência de roteamento especificada. O padrão é TRAFFIC_AWARE.
TRAFFIC_UNAWARE Calcula rotas sem considerar as condições de trânsito em tempo real. Adequado quando as condições de trânsito não importam ou não são aplicáveis. O uso desse valor produz a menor latência. Observação: para RouteTravelMode DRIVE e TWO_WHEELER, a rota e a duração escolhidas se baseiam na rede viária e nas condições médias de trânsito (independente da hora), não nas condições de trânsito atuais. Consequentemente, os trajetos podem incluir vias que estão temporariamente fechadas. Os resultados das solicitações variam por causa de mudanças na malha rodoviária, de atualizações nas condições de trânsito e da natureza distribuída do serviço. Os resultados também podem variar entre trajetos quase equivalentes a qualquer momento ou frequência.
TRAFFIC_AWARE Calcula os trajetos considerando as condições de trânsito. Ao contrário de TRAFFIC_AWARE_OPTIMAL, algumas otimizações são aplicadas para reduzir significativamente a latência.
TRAFFIC_AWARE_OPTIMAL Calcula as rotas considerando as condições de trânsito, sem aplicar a maioria das otimizações de desempenho. O uso desse valor produz a maior latência.

SpeedReadingInterval

Indicador de densidade de tráfego em um segmento contíguo de uma polilinha ou caminho. Dado um caminho com pontos P_0, P_1, ..., P_N (índice baseado em zero), o SpeedReadingInterval define um intervalo e descreve o tráfego usando as seguintes categorias.

Campos
start_polyline_point_index

int32

O índice inicial deste intervalo na polilinha. Em JSON, quando o índice é 0, o campo parece não estar preenchido.

end_polyline_point_index

int32

O índice final deste intervalo na polilinha. Em JSON, quando o índice é 0, o campo parece não estar preenchido.

speed

Speed

Velocidade do trânsito nesse intervalo.

Velocidade

A classificação da velocidade da polilinha com base nos dados de trânsito.

Enums
SPEED_UNSPECIFIED Valor padrão. Esse valor não é usado.
NORMAL Velocidade normal, nenhuma lentidão foi detectada.
SLOW Lentidão foi detectada, mas não houve engarrafamento.
TRAFFIC_JAM Congestionamento detectado.

TollInfo

Encapsula informações de pedágio em uma Route ou em uma RouteLeg.

Campos
estimated_price[]

Money

O valor monetário dos pedágios para o Route ou RouteLeg correspondente. Essa lista contém um valor monetário para cada moeda que deve ser cobrado pelas estações de pedágio. Normalmente, essa lista contém apenas um item para rotas com pedágios em uma moeda. No caso de viagens internacionais, essa lista pode ter vários itens para refletir os pedágios em diferentes moedas.

TollPass

Lista de pedágios em todo o mundo com suporte.

Enums
TOLL_PASS_UNSPECIFIED Não utilizado. Se esse valor for usado, a solicitação falhará.
AU_ETOLL_TAG Um dos muitos provedores de pedágio de Sydney. https://www.myetoll.com.au
AU_EWAY_TAG Um dos muitos provedores de pedágio de Sydney. https://www.tollpay.com.au/ (em inglês)
AU_LINKT Cartão de pedágio em toda a Austrália. Confira mais detalhes em https://www.linkt.com.au/.
AR_TELEPASE Tag de pedágio da Argentina. Confira mais detalhes em https://telepase.com.ar.
BR_AUTO_EXPRESO Pedágio no Brasil. Confira mais detalhes em https://www.autoexpreso.com.
BR_CONECTCAR Tag de pedágio do Brasil. Veja mais detalhes em https://conectcar.com.
BR_MOVE_MAIS Tag de pedágio do Brasil. Saiba mais em https://movemais.com.
BR_PASSA_RAPIDO Tag de pedágio do Brasil. Confira mais detalhes em https://pasorapido.gob.do/
BR_SEM_PARAR Tag de pedágio do Brasil. Confira mais detalhes em https://www.semparar.com.br.
BR_TAGGY Pedágio no Brasil. Confira mais detalhes em https://taggy.com.br.
BR_VELOE Pedágio no Brasil. Confira mais detalhes em https://veloe.com.br/site/onde-usar.
CA_US_AKWASASNE_SEAWAY_CORPORATE_CARD Fronteira entre o Canadá e os Estados Unidos.
CA_US_AKWASASNE_SEAWAY_TRANSIT_CARD Fronteira entre o Canadá e os Estados Unidos.
CA_US_BLUE_WATER_EDGE_PASS Ponte de Ontário, Canadá a Michigan, na fronteira com os Estados Unidos.
CA_US_CONNEXION Fronteira entre Ontário, Canadá, e Michigan, Estados Unidos.
CA_US_NEXUS_CARD Fronteira entre Canadá e Estados Unidos.
ID_E_TOLL Indonésia. Cartão eletrônico fornecido por vários bancos e usado para pagar pedágios. Todos os cartões eletrônicos via bancos são cobrados da mesma forma, portanto, é necessário apenas um valor de tipo enumerado. Por exemplo, Bank Mandiri https://www.bankmandiri.co.id/e-money BCA https://www.bca.co.id/flazz BNI https://www.bni.co.id/id-id/ebanking/tapcash
IN_FASTAG India.
IN_LOCAL_HP_PLATE_EXEMPT Isenção de placa estadual da Índia e HP.
JP_ETC Japan ETC. Sistema eletrônico sem fio para cobrança de pedágios. https://www.go-etc.jp/ (em japonês)
JP_ETC2 ETC2.0 do Japão. Nova versão do ETC com mais descontos e comunicação bidirecional entre dispositivos em veículos e antenas na estrada. https://www.go-etc.jp/etc2/index.html
MX_IAVE México https://iave.capufe.gob.mx/#/
MX_PASE México https://www.pase.com.mx
MX_QUICKPASS México https://operadoravial.com/quick-pass/
MX_SISTEMA_TELEPEAJE_CHIHUAHUA México http://appsh.chihuahua.gob.mx/transparencia/?doc=/ingresos/TelepeajeFormato4.pdf
MX_TAG_IAVE México
MX_TAG_TELEVIA Empresa de tag de pedágio do México. Uma das muitas que operam na Cidade do México. Veja mais detalhes em https://www.televia.com.mx.
MX_TELEVIA Empresa de pedágio no México. Uma das muitas empresas em operação na Cidade do México. https://www.televia.com.mx
MX_VIAPASS Pedágio no México. Confira mais detalhes em https://www.viapass.com.mx/viapass/web_home.aspx.
US_AL_FREEDOM_PASS AL, EUA.
US_AK_ANTON_ANDERSON_TUNNEL_BOOK_OF_10_TICKETS AK, EUA.
US_CA_FASTRAK Califórnia, EUA.
US_CA_FASTRAK_CAV_STICKER Indica que o motorista tem um passe FasTrak além do adesivo de veículo com ar limpo (CAV, na sigla em inglês) emitido pelo DMV. https://www.bayareafastrak.org/en/guide/doINeedFlex.shtml
US_CO_EXPRESSTOLL CO, EUA.
US_CO_GO_PASS CO, EUA.
US_DE_EZPASSDE DE, EUA.
US_FL_BOB_SIKES_TOLL_BRIDGE_PASS FL, EUA.
US_FL_DUNES_COMMUNITY_DEVELOPMENT_DISTRICT_EXPRESSCARD Flórida, EUA.
US_FL_EPASS Flórida, EUA.
US_FL_GIBA_TOLL_PASS Flórida, EUA.
US_FL_LEEWAY Flórida, EUA.
US_FL_SUNPASS Flórida, EUA.
US_FL_SUNPASS_PRO FL, EUA.
US_IL_EZPASSIL IL, EUA.
US_IL_IPASS IL, EUA.
US_IN_EZPASSIN IN, EUA.
US_KS_BESTPASS_HORIZON KS, EUA.
US_KS_KTAG KS, EUA.
US_KS_NATIONALPASS KS, EUA.
US_KS_PREPASS_ELITEPASS Kansas, EUA.
US_LA_GEAUXPASS Los Angeles, EUA.
US_LA_TOLL_TAG LA, EUA.
US_MA_EZPASSMA Massachusetts, EUA.
US_MD_EZPASSMD MD, EUA.
US_ME_EZPASSME EU, EUA.
US_MI_AMBASSADOR_BRIDGE_PREMIER_COMMUTER_CARD MI, EUA.
US_MI_BCPASS MI, EUA.
US_MI_GROSSE_ILE_TOLL_BRIDGE_PASS_TAG MI, EUA.
US_MI_IQ_PROX_CARD

MI, EUA. Obsoleto porque esse tipo de cartão não existe mais.

US_MI_IQ_TAG MI, EUA.
US_MI_MACKINAC_BRIDGE_MAC_PASS MI, EUA.
US_MI_NEXPRESS_TOLL MI, EUA.
US_MN_EZPASSMN MN, EUA.
US_NC_EZPASSNC Carolina do Norte, EUA.
US_NC_PEACH_PASS Carolina do Norte, EUA.
US_NC_QUICK_PASS Carolina do Norte, EUA.
US_NH_EZPASSNH NH, EUA.
US_NJ_DOWNBEACH_EXPRESS_PASS Nova Jersey, EUA.
US_NJ_EZPASSNJ Nova Jersey, EUA.
US_NY_EXPRESSPASS Nova York, EUA.
US_NY_EZPASSNY Nova York, EUA.
US_OH_EZPASSOH Oh, EUA.
US_PA_EZPASSPA Pensilvânia, EUA.
US_RI_EZPASSRI RI, EUA.
US_SC_PALPASS Carolina do Sul, EUA.
US_TX_AVI_TAG TX, EUA.
US_TX_BANCPASS Texas, EUA.
US_TX_DEL_RIO_PASS Texas, EUA.
US_TX_EFAST_PASS Texas, EUA.
US_TX_EAGLE_PASS_EXPRESS_CARD Texas, EUA.
US_TX_EPTOLL Texas, EUA.
US_TX_EZ_CROSS Texas, EUA.
US_TX_EZTAG Texas, EUA.
US_TX_FUEGO_TAG Texas, EUA.
US_TX_LAREDO_TRADE_TAG Texas, EUA.
US_TX_PLUSPASS Texas, EUA.
US_TX_TOLLTAG Texas, EUA.
US_TX_TXTAG Texas, EUA.
US_TX_XPRESS_CARD TX, EUA.
US_UT_ADAMS_AVE_PARKWAY_EXPRESSCARD Utah, EUA.
US_VA_EZPASSVA VA, EUA.
US_WA_BREEZEBY Washington, EUA.
US_WA_GOOD_TO_GO Washington, EUA.
US_WV_EZPASSWV WV, EUA.
US_WV_MEMORIAL_BRIDGE_TICKETS WV, EUA.
US_WV_MOV_PASS WV, EUA
US_WV_NEWELL_TOLL_BRIDGE_TICKET WV, EUA.

Unidades

Um conjunto de valores que especifica a unidade de medida usada na tela.

Enums
UNITS_UNSPECIFIED Unidades de medida não especificadas. O padrão é a unidade de medida inferida da solicitação.
METRIC Unidades de medida métricas.
IMPERIAL Unidades de medida imperiais (inglês).

VehicleEmissionType

Um conjunto de valores que descreve o tipo de emissão do veículo. Aplicável apenas ao modo de viagem do DRIVE.

Enums
VEHICLE_EMISSION_TYPE_UNSPECIFIED Nenhum tipo de emissão especificado. O padrão é GASOLINE.
GASOLINE Veículo a gasolina/combustível.
ELECTRIC Veículo movido a eletricidade.
HYBRID Veículo híbrido com combustível (como gasolina + elétrico).

VehicleInfo

Encapsula as informações do veículo, como o tipo de emissão.

Campos
emission_type

VehicleEmissionType

Descreve o tipo de emissão do veículo. Aplicável apenas aos RouteTravelMode do DRIVE.

Ponto de referência

Encapsula um ponto de passagem. Os waypoints marcam o início e o fim de um trajeto e incluem paradas intermediárias ao longo do trajeto.

Campos
via

bool

Marca esse waypoint como um marco, e não um ponto de parada. Para cada ponto de passagem não incluído na solicitação, a resposta anexa uma entrada à matriz legs para fornecer os detalhes das escalas nesse trecho da viagem. Defina esse valor como verdadeiro quando quiser que a rota passe por esse ponto de passagem sem parar. Os waypoints Via não fazem com que uma entrada seja adicionada à matriz legs, mas roteiam a jornada pelo waypoint. Só é possível definir esse valor em pontos intermediários. A solicitação falhará se você definir esse campo em waypoints do terminal. Se ComputeRoutesRequest.optimize_waypoint_order for definido como verdadeiro, esse campo não poderá ser definido como verdadeiro. Caso contrário, a solicitação falhará.

vehicle_stopover

bool

Indica que o waypoint é destinado a paradas de veículos, onde a intenção é embarcar ou desembarcar. Quando você definir esse valor, o trajeto calculado não incluirá waypoints diferentes de via em estradas inadequadas para os modos de embarque e desembarque. Essa opção funciona somente para os modos de viagem DRIVE e TWO_WHEELER e quando location_type é location.

side_of_road

bool

Indica que o local deste waypoint deve ter uma preferência quanto à parada do veículo em um lado específico da via. Quando você define esse valor, a rota passa pelo local para que o veículo possa parar no lado da estrada em que o local está localizado a partir do centro da via. Essa opção funciona apenas para os modos de transporte "DRIVE" e "TWO_WHEELER".

Campo de união location_type. Maneiras diferentes de representar um local. location_type pode ser apenas de um dos tipos a seguir:
location

Location

Um ponto especificado usando coordenadas geográficas, incluindo um título opcional.

place_id

string

O ID do lugar do ponto de interesse associado ao ponto de passagem.