Method: computeRoutes

Retorna a rota principal e rotas alternativas opcionais, considerando um conjunto de pontos de passagem terminais 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 parâmetros e cabeçalhos de URL disponíveis). O valor é uma lista separada por vírgulas de caminhos de campo. Consulte a 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ção, distância e polilinha no nível da rota (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 economizar ciclos de computação, permitindo que retornemos o resultado para você com uma latência menor.
  • Selecionar apenas os campos necessários no job de produção garante uma latência estável. Talvez adicionemos mais campos de resposta no futuro, e esses novos campos podem exigir mais tempo de computação. 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 um tamanho de resposta menor e, portanto, em um maior rendimento da rede.

Solicitação HTTP

POST https://routes.googleapis.com/directions/v2:computeRoutes

O URL usa a sintaxe de transcodificação gRPC.

Corpo da solicitação

O corpo da solicitação contém dados com a seguinte estrutura:

Representação JSON
{
  "origin": {
    object (Waypoint)
  },
  "destination": {
    object (Waypoint)
  },
  "intermediates": [
    {
      object (Waypoint)
    }
  ],
  "travelMode": enum (RouteTravelMode),
  "routingPreference": enum (RoutingPreference),
  "polylineQuality": enum (PolylineQuality),
  "polylineEncoding": enum (PolylineEncoding),
  "departureTime": string,
  "arrivalTime": string,
  "computeAlternativeRoutes": boolean,
  "routeModifiers": {
    object (RouteModifiers)
  },
  "languageCode": string,
  "regionCode": string,
  "units": enum (Units),
  "optimizeWaypointOrder": boolean,
  "requestedReferenceRoutes": [
    enum (ReferenceRoute)
  ],
  "extraComputations": [
    enum (ExtraComputation)
  ],
  "trafficModel": enum (TrafficModel),
  "transitPreferences": {
    object (TransitPreferences)
  }
}
Campos
origin

object (Waypoint)

Obrigatório. Ponto de passagem de origem.

destination

object (Waypoint)

Obrigatório. Ponto de passagem de destino.

intermediates[]

object (Waypoint)

Opcional. Um conjunto de waypoints ao longo do trajeto (exceto pontos terminais) para parar ou passar. Até 25 waypoints intermediários são aceitos.

travelMode

enum (RouteTravelMode)

Opcional. Especifica o modo de transporte.

routingPreference

enum (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 uma latência extra longa, um erro será retornado. Essa opção só pode ser especificada quando travelMode é DRIVE ou TWO_WHEELER. Caso contrário, a solicitação falha.

polylineQuality

enum (PolylineQuality)

Opcional. Especifica sua preferência para a qualidade da poligonal.

polylineEncoding

enum (PolylineEncoding)

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

departureTime

string (Timestamp format)

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. OBSERVAÇÃO: só é possível especificar um departureTime no passado quando RouteTravelMode está definido como TRANSIT. As viagens de transporte público estão disponíveis até 7 dias no passado ou 100 dias no futuro.

Um carimbo de data/hora no formato RFC3339 UTC "Zulu", com resolução de nanossegundos e até nove dígitos fracionários. Exemplos: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

arrivalTime

string (Timestamp format)

Opcional. O horário de chegada. OBSERVAÇÃO: só pode ser definido quando RouteTravelMode está definido como TRANSIT. É possível especificar departureTime ou arrivalTime, mas não ambos. As viagens de transporte público estão disponíveis até 7 dias no passado ou 100 dias no futuro.

Um carimbo de data/hora no formato RFC3339 UTC "Zulu", com resolução de nanossegundos e até nove dígitos fracionários. Exemplos: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

computeAlternativeRoutes

boolean

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

routeModifiers

object (RouteModifiers)

Opcional. Um conjunto de condições que afetam a forma como as rotas são calculadas.

languageCode

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 compatíveis. Quando você não fornece esse valor, o idioma de exibição é inferido com base no local da solicitação de rota.

regionCode

string

Opcional. O código de região, especificado como um valor de ccTLD ("domínio de nível superior") de dois caracteres. Para mais informações, consulte Domínios de nível superior de código de país.

units

enum (Units)

Opcional. Especifica as unidades de medida dos campos de exibição. Esses campos incluem 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 informar esse valor, as unidades de exibição serão inferidas com base na localização da primeira origem.

optimizeWaypointOrder

boolean

Opcional. Se definido como "true", o serviço tenta minimizar o custo geral da rota reordenando os waypoints intermediários especificados. A solicitação falha se algum dos waypoints intermediários for via. Use ComputeRoutesResponse.Routes.optimized_intermediate_waypoint_index para encontrar a nova ordem. Se o ComputeRoutesResponseroutes.optimized_intermediate_waypoint_index não for solicitado no cabeçalho X-Goog-FieldMask, a solicitação falhará. Se optimizeWaypointOrder for definido como falso, ComputeRoutesResponse.optimized_intermediate_waypoint_index vai ficar vazio.

requestedReferenceRoutes[]

enum (ReferenceRoute)

Opcional. Especifica quais rotas de referência calcular como parte da solicitação, além da rota padrão. Uma rota de referência é uma rota com um objetivo de cálculo diferente da rota padrão. Por exemplo, o cálculo da rota de referência FUEL_EFFICIENT considera vários parâmetros que geram uma rota de consumo de combustível ideal. Ao usar esse recurso, procure routeLabels nas rotas resultantes.

extraComputations[]

enum (ExtraComputation)

Opcional. Uma lista de cálculos extras que podem ser usados para concluir a solicitação. Observação: essas computações extras podem retornar campos extras na resposta. Esses campos extras também precisam ser especificados na máscara de campo para serem retornados na resposta.

trafficModel

enum (TrafficModel)

Opcional. Especifica as suposições a serem usadas ao calcular o tempo no trânsito. Essa configuração afeta o valor retornado no campo de duração em Route e RouteLeg, que contém o tempo previsto no trânsito com base nas médias históricas. O TrafficModel só está disponível para solicitações que definiram RoutingPreference como TRAFFIC_AWARE_OPTIMAL e RouteTravelMode como DRIVE. O padrão é BEST_GUESS se o tráfego for solicitado e TrafficModel não for especificado.

transitPreferences

object (TransitPreferences)

Opcional. Especifica preferências que influenciam a rota retornada para rotas TRANSIT. OBSERVAÇÃO: só é possível especificar um transitPreferences quando RouteTravelMode está definido como TRANSIT.

Corpo da resposta

v2.computeRoutes a mensagem de resposta.

Se bem-sucedido, o corpo da resposta incluirá dados com a estrutura a seguir:

Representação JSON
{
  "routes": [
    {
      object (Route)
    }
  ],
  "fallbackInfo": {
    object (FallbackInfo)
  },
  "geocodingResults": {
    object (GeocodingResults)
  }
}
Campos
routes[]

object (Route)

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

fallbackInfo

object (FallbackInfo)

Em alguns casos, quando o servidor não consegue calcular os resultados da rota com todas as preferências de entrada, ele pode usar uma maneira diferente de cálculo. Quando o modo alternativo é usado, esse campo contém informações detalhadas sobre a resposta alternativa. Caso contrário, esse campo não será definido.

geocodingResults

object (GeocodingResults)

Contém informações de resposta de geocodificação para pontos de passagem especificados como endereços.

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 poligonal de alta qualidade, que é composta usando mais pontos do que OVERVIEW, com o custo de aumentar o tamanho da resposta. Use esse valor quando precisar de mais precisão.
OVERVIEW Especifica uma polilinha de visão geral, que é 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 a opção HIGH_QUALITY.

PolylineEncoding

Especifica o tipo preferido de poligonal a ser retornado.

Enums
POLYLINE_ENCODING_UNSPECIFIED Nenhuma preferência de tipo de poligonal 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

ReferenceRoute

Uma rota de referência com suporte na ComputeRoutesRequest.

Enums
REFERENCE_ROUTE_UNSPECIFIED Não utilizado. As solicitações que contêm esse valor falham.
FUEL_EFFICIENT Trajeto econômico.
SHORTER_DISTANCE

Rota com distância de viagem mais curta. Este é um recurso experimental.

Para solicitações DRIVE, esse recurso prioriza a distância mais curta em vez do conforto ao dirigir. Por exemplo, ele pode preferir vias locais em vez de rodovias, pegar estradas de terra, cortar estacionamentos etc. Esse recurso não retorna nenhuma manobra que o Google Maps saiba ser ilegal.

Para solicitações BICYCLE e TWO_WHEELER, esse recurso retorna rotas semelhantes às retornadas quando você não especifica requestedReferenceRoutes.

Esse recurso não é compatível com outros modos de viagem, por waypoints intermediários ou optimizeWaypointOrder. Essas solicitações vão falhar. No entanto, é possível usá-lo com qualquer routingPreference.

ExtraComputation

Cálculos extras a serem realizados ao concluir a solicitação.

Enums
EXTRA_COMPUTATION_UNSPECIFIED Não utilizado. As solicitações com esse valor vão falhar.
TOLLS Informações sobre pedágios das rotas.
FUEL_CONSUMPTION Consumo de combustível estimado para as rotas.
TRAFFIC_ON_POLYLINE Polilinhas com informações de trânsito para as rotas.
HTML_FORMATTED_NAVIGATION_INSTRUCTIONS NavigationInstructions apresentado como uma string de texto HTML formatada. Este conteúdo precisa ser lido no estado em que se encontra. Ele é apenas para exibição. Não analise-o de forma programática.
FLYOVER_INFO_ON_POLYLINE Informações sobre o sobrevoo das rotas. A máscara de campo routes.polyline_details.flyover_info precisa ser especificada para retornar essas informações. No momento, esses dados só serão preenchidos para alguns metrôs na Índia. Esse recurso é experimental, e o SKU/valor da cobrança está sujeito a mudanças.
NARROW_ROAD_INFO_ON_POLYLINE Restringir as informações da via para as rotas. A máscara de campo routes.polyline_details.narrow_road_info precisa ser especificada para retornar essas informações. No momento, esses dados só serão preenchidos para alguns metrôs na Índia. Esse recurso é experimental, e o SKU/valor da cobrança está sujeito a mudanças.

Rota

Contém uma rota, que consiste em uma série de segmentos de estrada conectados que unem os waypoints iniciais, finais e intermediários.

Representação JSON
{
  "routeLabels": [
    enum (RouteLabel)
  ],
  "legs": [
    {
      object (RouteLeg)
    }
  ],
  "distanceMeters": integer,
  "duration": string,
  "staticDuration": string,
  "polyline": {
    object (Polyline)
  },
  "description": string,
  "warnings": [
    string
  ],
  "viewport": {
    object (Viewport)
  },
  "travelAdvisory": {
    object (RouteTravelAdvisory)
  },
  "optimizedIntermediateWaypointIndex": [
    integer
  ],
  "localizedValues": {
    object (RouteLocalizedValues)
  },
  "routeToken": string,
  "polylineDetails": {
    object (PolylineDetails)
  }
}
Campos
routeLabels[]

enum (RouteLabel)

Rótulos para o Route que são úteis para identificar propriedades específicas da rota para comparar com outras.

legs[]

object (RouteLeg)

Uma coleção de trechos (segmentos de caminho entre pontos de referência) que compõem a rota. Cada trecho corresponde à viagem entre dois Waypoints que não são via. Por exemplo, uma rota sem pontos de referência intermediários tem apenas um trecho. Uma rota que inclui um ponto de passagem 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.

distanceMeters

integer

A distância percorrida da rota, em metros.

duration

string (Duration format)

O tempo necessário para percorrer o trajeto. Se você definir routingPreference como TRAFFIC_UNAWARE, esse valor será o mesmo que staticDuration. Se você definir routingPreference como TRAFFIC_AWARE ou TRAFFIC_AWARE_OPTIMAL, esse valor será calculado considerando as condições de tráfego.

Duração em segundos com até nove dígitos fracionários, terminando em "s". Exemplo: "3.5s".

staticDuration

string (Duration format)

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

Duração em segundos com até nove dígitos fracionários, terminando em "s". Exemplo: "3.5s".

polyline

object (Polyline)

A polilinha de trajeto geral. 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

object (Viewport)

Caixa delimitadora da porta de visualização da polilinha.

travelAdvisory

object (RouteTravelAdvisory)

Informações adicionais sobre a rota.

optimizedIntermediateWaypointIndex[]

integer

Se você definir optimizeWaypointOrder como verdadeiro, esse campo vai conter a ordem otimizada dos pontos de referência intermediários. Caso contrário, este campo estará vazio. Por exemplo, se você informar uma origem: LA; pontos intermediários: Dallas, Bangor, Phoenix; destino: Nova York; e a ordem otimizada do ponto intermediário for Phoenix, Dallas, Bangor, então esse campo vai conter os valores [2, 0, 1]. O índice começa com 0 para o primeiro ponto de passagem intermediário fornecido na entrada.

localizedValues

object (RouteLocalizedValues)

Representações de texto das propriedades do Route.

routeToken

string

Um token opaco que pode ser transmitido ao SDK Navigation para reconstruir a rota durante a navegação e, no caso de redirecionamento, respeitar a intenção original quando a rota foi criada. Tratar esse token como um blob opaco. Não compare o valor entre as solicitações, porque ele pode mudar mesmo que o serviço retorne a mesma rota.

OBSERVAÇÃO: Route.route_token está disponível apenas para solicitações que definiram ComputeRoutesRequest.routing_preference como TRAFFIC_AWARE ou TRAFFIC_AWARE_OPTIMAL. Route.route_token não é compatível com solicitações que têm waypoints de via.

polylineDetails

object (PolylineDetails)

Contém informações sobre detalhes ao longo da poligonal.

RouteLabel

Rótulos para o Route que são úteis para identificar propriedades específicas da rota para comparar com outras.

Enums
ROUTE_LABEL_UNSPECIFIED Padrão: não usado.
DEFAULT_ROUTE A rota "melhor" padrão retornada para a computação da rota.
DEFAULT_ROUTE_ALTERNATE Uma alternativa à rota "melhor" padrão. Rotas como essa serão retornadas quando computeAlternativeRoutes for especificado.
FUEL_EFFICIENT Trajeto econômico. As rotas marcadas com esse valor são otimizadas para parâmetros de Eco, como consumo de combustível.
SHORTER_DISTANCE Trajeto com distância de viagem menor. Este é um recurso experimental.

RouteLeg

Contém um segmento entre waypoints que não são via.

Representação JSON
{
  "distanceMeters": integer,
  "duration": string,
  "staticDuration": string,
  "polyline": {
    object (Polyline)
  },
  "startLocation": {
    object (Location)
  },
  "endLocation": {
    object (Location)
  },
  "steps": [
    {
      object (RouteLegStep)
    }
  ],
  "travelAdvisory": {
    object (RouteLegTravelAdvisory)
  },
  "localizedValues": {
    object (RouteLegLocalizedValues)
  },
  "stepsOverview": {
    object (StepsOverview)
  }
}
Campos
distanceMeters

integer

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

duration

string (Duration format)

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

Duração em segundos com até nove dígitos fracionários, terminando em "s". Exemplo: "3.5s".

staticDuration

string (Duration format)

A duração da viagem pelo trecho, calculada sem considerar as condições de trânsito.

Duração em segundos com até nove dígitos fracionários, terminando em "s". Exemplo: "3.5s".

polyline

object (Polyline)

A polilinha geral dessa etapa, que inclui cada polilinha de step.

startLocation

object (Location)

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

endLocation

object (Location)

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

steps[]

object (RouteLegStep)

Uma matriz de etapas que indicam os segmentos dentro desta etapa. Cada etapa representa uma instrução de navegação.

travelAdvisory

object (RouteLegTravelAdvisory)

Contém as informações adicionais que o usuário precisa saber, como possíveis restrições de zona de trânsito, em um trecho do trajeto.

localizedValues

object (RouteLegLocalizedValues)

Representações de texto das propriedades do RouteLeg.

stepsOverview

object (StepsOverview)

Informações gerais sobre as etapas deste RouteLeg. Esse campo só é preenchido para rotas de transporte público.

Polilinha

Encapsula uma polilinha codificada.

Representação JSON
{

  // Union field polyline_type can be only one of the following:
  "encodedPolyline": string,
  "geoJsonLinestring": {
    object
  }
  // End of list of possible types for union field polyline_type.
}
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:
encodedPolyline

string

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

geoJsonLinestring

object (Struct format)

Especifica uma poligonal usando o formato de linha GeoJSON.

RouteLegStep

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

Representação JSON
{
  "distanceMeters": integer,
  "staticDuration": string,
  "polyline": {
    object (Polyline)
  },
  "startLocation": {
    object (Location)
  },
  "endLocation": {
    object (Location)
  },
  "navigationInstruction": {
    object (NavigationInstruction)
  },
  "travelAdvisory": {
    object (RouteLegStepTravelAdvisory)
  },
  "localizedValues": {
    object (RouteLegStepLocalizedValues)
  },
  "transitDetails": {
    object (RouteLegStepTransitDetails)
  },
  "travelMode": enum (RouteTravelMode)
}
Campos
distanceMeters

integer

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

staticDuration

string (Duration format)

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.

Duração em segundos com até nove dígitos fracionários, terminando em "s". Exemplo: "3.5s".

polyline

object (Polyline)

A polilinha associada a essa etapa.

startLocation

object (Location)

O local de início desta etapa.

endLocation

object (Location)

O local final desta etapa.

navigationInstruction

object (NavigationInstruction)

Instruções de navegação.

travelAdvisory

object (RouteLegStepTravelAdvisory)

Contém as informações adicionais que o usuário precisa saber, como possíveis restrições de zona de trânsito, em uma etapa do trajeto.

localizedValues

object (RouteLegStepLocalizedValues)

Representações de texto das propriedades do RouteLegStep.

transitDetails

object (RouteLegStepTransitDetails)

Detalhes relacionados a esta etapa se o modo de viagem for TRANSIT.

travelMode

enum (RouteTravelMode)

O modo de transporte usado para esta etapa.

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 bruscamente para a direita.
UTURN_RIGHT Faça um retorno à direita.
TURN_RIGHT Vire à direita.
STRAIGHT Siga em frente.
RAMP_LEFT Pegue a rampa à esquerda.
RAMP_RIGHT Pegue a rampa à direita.
MERGE Entrar no tráfego.
FORK_LEFT Pegue a bifurcação à esquerda.
FORK_RIGHT Pegue a bifurcação à 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 de uma rua.

RouteLegStepTravelAdvisory

Contém as informações adicionais que o usuário precisa saber, como possíveis restrições de zona de tráfego em uma etapa do trajeto.

Representação JSON
{
  "speedReadingIntervals": [
    {
      object (SpeedReadingInterval)
    }
  ]
}
Campos
speedReadingIntervals[]

object (SpeedReadingInterval)

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

RouteLegStepLocalizedValues

Representações de texto de determinadas propriedades.

Representação JSON
{
  "distance": {
    object (LocalizedText)
  },
  "staticDuration": {
    object (LocalizedText)
  }
}
Campos
distance

object (LocalizedText)

Distância percorrida representada em texto.

staticDuration

object (LocalizedText)

Duração sem considerar as condições de trânsito, representada em texto.

RouteLegStepTransitDetails

Informações adicionais sobre o RouteLegStep relacionado às rotas TRANSIT.

Representação JSON
{
  "stopDetails": {
    object (TransitStopDetails)
  },
  "localizedValues": {
    object (TransitDetailsLocalizedValues)
  },
  "headsign": string,
  "headway": string,
  "transitLine": {
    object (TransitLine)
  },
  "stopCount": integer,
  "tripShortText": string
}
Campos
stopDetails

object (TransitStopDetails)

Informações sobre as paradas de chegada e partida da etapa.

localizedValues

object (TransitDetailsLocalizedValues)

Representações de texto das propriedades do RouteLegStepTransitDetails.

headsign

string

Especifica a direção na qual você percorre essa linha, conforme indicado no veículo ou na parada de partida. A direção é, muitas vezes, a estação terminal.

headway

string (Duration format)

Especifica o tempo esperado como a duração entre as partidas da mesma parada no momento. Por exemplo, com um valor de 600 segundos de headway, você terá uma espera de 10 minutos se perder o ônibus.

Duração em segundos com até nove dígitos fracionários, terminando em "s". Exemplo: "3.5s".

transitLine

object (TransitLine)

Informações sobre a linha de transporte público usada nesta etapa.

stopCount

integer

O número de paradas entre a partida e a chegada. Essa contagem inclui a parada de chegada, mas exclui a de partida. Por exemplo, se a rota sai da parada A, passa pelas paradas B e C e chega à parada D,

stopCount

retorna 3.

tripShortText

string

O texto que aparece nos horários e mostradores para identificar uma viagem de transporte público para os passageiros. O texto precisa identificar de forma exclusiva uma viagem em um dia de serviço. Por exemplo, "538" é o tripShortText do trem da Amtrak que sai de San Jose, CA, às 15h10 nos dias úteis para Sacramento, CA.

TransitStopDetails

Detalhes sobre as paradas de transporte público para o RouteLegStep.

Representação JSON
{
  "arrivalStop": {
    object (TransitStop)
  },
  "arrivalTime": string,
  "departureStop": {
    object (TransitStop)
  },
  "departureTime": string
}
Campos
arrivalStop

object (TransitStop)

Informações sobre a parada de chegada da etapa.

arrivalTime

string (Timestamp format)

O horário estimado de chegada da etapa.

Um carimbo de data/hora no formato RFC3339 UTC "Zulu", com resolução de nanossegundos e até nove dígitos fracionários. Exemplos: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

departureStop

object (TransitStop)

Informações sobre a parada de partida da etapa.

departureTime

string (Timestamp format)

O horário de partida estimado para a etapa.

Um carimbo de data/hora no formato RFC3339 UTC "Zulu", com resolução de nanossegundos e até nove dígitos fracionários. Exemplos: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

TransitStop

Informações sobre uma parada de transporte público.

Representação JSON
{
  "name": string,
  "location": {
    object (Location)
  }
}
Campos
name

string

O nome da parada de transporte público.

location

object (Location)

O local da parada expresso em coordenadas de latitude/longitude.

TransitDetailsLocalizedValues

Descrições localizadas de valores para RouteTransitDetails.

Representação JSON
{
  "arrivalTime": {
    object (LocalizedTime)
  },
  "departureTime": {
    object (LocalizedTime)
  }
}
Campos
arrivalTime

object (LocalizedTime)

Hora na representação de texto formatado com um fuso horário correspondente.

departureTime

object (LocalizedTime)

Hora na representação de texto formatado com um fuso horário correspondente.

LocalizedTime

Descrição localizada do tempo.

Representação JSON
{
  "time": {
    object (LocalizedText)
  },
  "timeZone": string
}
Campos
time

object (LocalizedText)

O horário especificado como uma string em um determinado fuso horário.

timeZone

string

Contém o fuso horário. O valor é o nome do fuso horário conforme definido no banco de dados de fusos horários da IANA, por exemplo, "America/New_York".

TransitLine

Contém informações sobre a linha de transporte público usada nessa etapa.

Representação JSON
{
  "agencies": [
    {
      object (TransitAgency)
    }
  ],
  "name": string,
  "uri": string,
  "color": string,
  "iconUri": string,
  "nameShort": string,
  "textColor": string,
  "vehicle": {
    object (TransitVehicle)
  }
}
Campos
agencies[]

object (TransitAgency)

A empresa de transporte público que opera essa linha.

name

string

O nome completo dessa linha de transporte. Por exemplo, "8 Avenue Local".

uri

string

o URI da linha de transporte público, conforme fornecido pela agência de transporte público.

color

string

A cor normalmente usada para a sinalização da linha. Representado em hexadecimal.

iconUri

string

O URI do ícone associado a essa linha.

nameShort

string

O nome abreviado da linha de transporte público. Esse nome normalmente é um número de linha, como "M7" ou "355".

textColor

string

A cor normalmente usada no texto das placas dessa linha. Representado em hexadecimal.

vehicle

object (TransitVehicle)

O tipo de veículo que opera nessa linha de transporte público.

TransitAgency

Uma empresa de transporte público que opera uma linha de transporte público.

Representação JSON
{
  "name": string,
  "phoneNumber": string,
  "uri": string
}
Campos
name

string

O nome da empresa de transporte público.

phoneNumber

string

O número de telefone formatado específico da região da agência de transporte público.

uri

string

O URI da empresa de transporte público.

TransitVehicle

Informações sobre um veículo usado em rotas de transporte público.

Representação JSON
{
  "name": {
    object (LocalizedText)
  },
  "type": enum (TransitVehicleType),
  "iconUri": string,
  "localIconUri": string
}
Campos
name

object (LocalizedText)

O nome do veículo, em letras maiúsculas.

type

enum (TransitVehicleType)

O tipo de veículo usado.

iconUri

string

O URI de um ícone associado a esse tipo de veículo.

localIconUri

string

O URI do ícone associado a esse tipo de veículo, com base na sinalização de transporte local.

TransitVehicleType

O tipo de veículo para rotas de transporte público.

Enums
TRANSIT_VEHICLE_TYPE_UNSPECIFIED Não utilizado.
BUS Ônibus
CABLE_CAR Um veículo que opera por meio de um cabo, normalmente terrestre. Bondes aéreos podem ser do tipo GONDOLA_LIFT.
COMMUTER_TRAIN Trem metropolitano.
FERRY Balsa.
FUNICULAR Um veículo puxado por cabo em declives acentuados. Um funicular geralmente consiste em dois vagões que funcionam como contrapesos um para o outro.
GONDOLA_LIFT Um bonde aéreo.
HEAVY_RAIL Vagões pesados.
HIGH_SPEED_TRAIN Trem de alta velocidade.
INTERCITY_BUS Ônibus intermunicipal.
LONG_DISTANCE_TRAIN Trem de longa distância.
METRO_RAIL Trilho para veículos leves.
MONORAIL Monotrilho.
OTHER Todos os outros veículos.
RAIL Trem
SHARE_TAXI Um transporte compartilhado é um veículo que pode deixar e coletar passageiros em qualquer ponto de sua rota.
SUBWAY Veículo leve subterrâneo.
TRAM Veículo leve acima do chão.
TROLLEYBUS Ônibus elétrico.

RouteLegTravelAdvisory

Contém as informações adicionais que o usuário precisa saber em uma etapa do trajeto, como possíveis restrições de zona de trânsito.

Representação JSON
{
  "tollInfo": {
    object (TollInfo)
  },
  "speedReadingIntervals": [
    {
      object (SpeedReadingInterval)
    }
  ]
}
Campos
tollInfo

object (TollInfo)

Contém informações sobre pedágios na RouteLeg específica. Esse campo só é preenchido se houver pedágios na RouteLeg. Se esse campo estiver definido, mas o subcampo "estimatedPrice" não estiver preenchido, vamos considerar que a estrada tem pedágios, mas não sabemos o preço estimado. Se esse campo não existir, não haverá pedágio na RouteLeg.

speedReadingIntervals[]

object (SpeedReadingInterval)

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

Exemplo:

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

RouteLegLocalizedValues

Representações de texto de determinadas propriedades.

Representação JSON
{
  "distance": {
    object (LocalizedText)
  },
  "duration": {
    object (LocalizedText)
  },
  "staticDuration": {
    object (LocalizedText)
  }
}
Campos
distance

object (LocalizedText)

Distância percorrida representada em texto.

duration

object (LocalizedText)

Duração, representada em formato de texto e localizada para a região da consulta. Leva em consideração as condições de trânsito. Observação: se você não tiver solicitado informações de tráfego, esse valor será igual a staticDuration.

staticDuration

object (LocalizedText)

Duração sem considerar as condições de trânsito, representada em texto.

StepsOverview

Fornece informações gerais sobre uma lista de RouteLegSteps.

Representação JSON
{
  "multiModalSegments": [
    {
      object (MultiModalSegment)
    }
  ]
}
Campos
multiModalSegments[]

object (MultiModalSegment)

Informações resumidas sobre diferentes segmentos multimodais do RouteLeg.steps. Este campo não é preenchido se a RouteLeg não tiver segmentos multimodais nas etapas.

MultiModalSegment

Fornece informações resumidas sobre diferentes segmentos multimodais do RouteLeg.steps. Um segmento multimodal é definido como um ou mais RouteLegStep contíguos que têm o mesmo RouteTravelMode. Este campo não é preenchido se a RouteLeg não tiver segmentos multimodais nas etapas.

Representação JSON
{
  "navigationInstruction": {
    object (NavigationInstruction)
  },
  "travelMode": enum (RouteTravelMode),
  "stepStartIndex": integer,
  "stepEndIndex": integer
}
Campos
navigationInstruction

object (NavigationInstruction)

NavigationInstruction para o segmento multimodal.

travelMode

enum (RouteTravelMode)

O meio de transporte do segmento multimodal.

stepStartIndex

integer

O índice RouteLegStep correspondente que é o início de um segmento multimodal.

stepEndIndex

integer

O índice RouteLegStep correspondente que é o fim de um segmento multimodal.

Janela de visualização

Uma viewport de latitude-longitude, representada como dois pontos low e high diagonalmente opostos. Uma viewport é considerada uma região fechada, ou seja, ela inclui o limite. Os limites de latitude precisam variar entre -90 e 90 graus, e os limites de longitude precisam variar entre -180 e 180 graus. Vários casos incluem:

  • Se low = high, a viewport consiste nesse único ponto.

  • Se low.longitude > high.longitude, o intervalo de longitude é invertido (a janela de visualização cruza a linha de longitude de 180 graus).

  • Se low.longitude = -180 graus e high.longitude = 180 graus, a viewport inclui todas as longitudes.

  • Se low.longitude = 180 graus e high.longitude = -180 graus, o intervalo de longitude estará vazio.

  • Se low.latitude for maior que high.latitude, o intervalo de latitude estará vazio.

low e high precisam ser preenchidos, e a caixa representada não pode estar vazia (conforme especificado nas definições acima). Uma viewport vazia vai resultar em um erro.

Por exemplo, esta viewport envolve totalmente a cidade de Nova York:

{ "low": { "latitude": 40.477398, "longitude": -74.259087 }, "high": { "latitude": 40.91618, "longitude": -73.70018 } }

Representação JSON
{
  "low": {
    object (LatLng)
  },
  "high": {
    object (LatLng)
  }
}
Campos
low

object (LatLng)

Obrigatório. O ponto mais baixo da janela de visualização.

high

object (LatLng)

Obrigatório. O ponto alto da janela de visualização.

RouteLocalizedValues

Representações de texto de determinadas propriedades.

Representação JSON
{
  "distance": {
    object (LocalizedText)
  },
  "duration": {
    object (LocalizedText)
  },
  "staticDuration": {
    object (LocalizedText)
  },
  "transitFare": {
    object (LocalizedText)
  }
}
Campos
distance

object (LocalizedText)

Distância percorrida representada em texto.

duration

object (LocalizedText)

Duração, representada em formato de texto e localizada para a região da consulta. Leva em consideração as condições de trânsito. Observação: se você não solicitou informações de tráfego, esse valor é igual a staticDuration.

staticDuration

object (LocalizedText)

Duração sem considerar as condições de trânsito, representada em texto.

transitFare

object (LocalizedText)

Tarifa de transporte público representada em texto.

PolylineDetails

Detalhes correspondentes a um determinado índice ou segmento contíguo de uma polilinha. Dada uma poligonal com pontos P_0, P_1, ... , P_N (índice baseado em zero), o PolylineDetails define um intervalo e os metadados associados.

Representação JSON
{
  "flyoverInfo": [
    {
      object (FlyoverInfo)
    }
  ],
  "narrowRoadInfo": [
    {
      object (NarrowRoadInfo)
    }
  ]
}
Campos
flyoverInfo[]

object (FlyoverInfo)

Detalhes do sobrevoo ao longo da polilinha.

narrowRoadInfo[]

object (NarrowRoadInfo)

Detalhes da estrada estreita ao longo da polilinha.

FlyoverInfo

Encapsula informações sobre sobrevoos ao longo da poligonal.

Representação JSON
{
  "flyoverPresence": enum (RoadFeatureState),
  "polylinePointIndex": {
    object (PolylinePointIndex)
  }
}
Campos
flyoverPresence

enum (RoadFeatureState)

Apenas saída. Indica se há um flyover para um determinado trecho da polilinha.

polylinePointIndex

object (PolylinePointIndex)

O local das informações relacionadas ao flyover ao longo da poligonal.

RoadFeatureState

Encapsula os estados dos elementos de via em um trecho de polilinha.

Enums
ROAD_FEATURE_STATE_UNSPECIFIED O estado do elemento de estrada não foi calculado (valor padrão).
EXISTS O elemento da via existe.
DOES_NOT_EXIST O elemento da via não existe.

PolylinePointIndex

Encapsula os índices inicial e final de um detalhe de polilinha. Para instâncias em que os dados correspondem a um único ponto, startIndex e endIndex serão iguais.

Representação JSON
{
  "startIndex": integer,
  "endIndex": integer
}
Campos
startIndex

integer

O índice inicial desse detalhe na polilinha.

endIndex

integer

O índice final desse detalhe na poligonal.

NarrowRoadInfo

Encapsula informações sobre vias estreitas ao longo da poligonal.

Representação JSON
{
  "narrowRoadPresence": enum (RoadFeatureState),
  "polylinePointIndex": {
    object (PolylinePointIndex)
  }
}
Campos
narrowRoadPresence

enum (RoadFeatureState)

Apenas saída. Indica se existe uma via estreita para um determinado trecho da polilinha.

polylinePointIndex

object (PolylinePointIndex)

O local de informações relacionadas a vias estreitas ao longo da polilinha.

GeocodingResults

Contém GeocodedWaypoints para origem, destino e pontos de passagem intermediários. Preenchido apenas para pontos de passagem de endereço.

Representação JSON
{
  "origin": {
    object (GeocodedWaypoint)
  },
  "destination": {
    object (GeocodedWaypoint)
  },
  "intermediates": [
    {
      object (GeocodedWaypoint)
    }
  ]
}
Campos
origin

object (GeocodedWaypoint)

Ponto de referência geocodificado da origem.

destination

object (GeocodedWaypoint)

Ponto de referência geocodificado do destino.

intermediates[]

object (GeocodedWaypoint)

Uma lista de pontos de referência intermediários geocodificados, cada um contendo um campo de índice que corresponde à posição de base zero do ponto de referência na ordem especificada na solicitação.

GeocodedWaypoint

Detalhes sobre os locais usados como pontos de passagem. Preenchido apenas para pontos de passagem de endereço. Inclui detalhes sobre os resultados da geocodificação para determinar para onde o endereço foi geocodificado.

Representação JSON
{
  "geocoderStatus": {
    object (Status)
  },
  "type": [
    string
  ],
  "partialMatch": boolean,
  "placeId": string,
  "intermediateWaypointRequestIndex": integer
}
Campos
geocoderStatus

object (Status)

Indica o código de status resultante da operação de geocodificação.

type[]

string

Os tipos de resultado, na forma de zero ou mais tags de tipo. Tipos aceitos: tipos de endereço e de componentes de endereço.

partialMatch

boolean

Indica que o geocodificador não retornou uma correspondência exata para a solicitação original, mas conseguiu corresponder parte do endereço solicitado. Pode ser recomendável verificar se a solicitação original inclui erros de ortografia e/ou um endereço incompleto.

placeId

string

O ID do lugar para esse resultado.

intermediateWaypointRequestIndex

integer

O índice do ponto de passagem intermediário correspondente na solicitação. Só é preenchido se o waypoint correspondente for intermediário.