Method: computeRoutes

Retorna a rota principal e rotas alternativas opcionais, considerando um conjunto de waypoints 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 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 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 desencoraja o uso da máscara de campo de resposta 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 com uma latência menor.
  • Selecionar apenas os campos necessários no seu trabalho de produção garante uma performance de latência estável. Podemos adicionar 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á ocorrer uma degradação da performance, porque qualquer novo campo adicionado será incluído automaticamente na resposta.
  • Selecionar apenas os campos necessários resulta em um tamanho de resposta menor e, portanto, maior taxa de transferência de 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 parada de origem.

destination

object (Waypoint)

Obrigatório. Ponto de parada de destino.

intermediates[]

object (Waypoint)

Opcional. Um conjunto de waypoints ao longo do trajeto (excluindo os pontos finais), para parar ou passar por eles. É possível usar até 25 waypoints intermediários.

travelMode

enum (RouteTravelMode)

Opcional. Especifica o meio de transporte.

routingPreference

enum (RoutingPreference)

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

polylineQuality

enum (PolylineQuality)

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

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 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 por até 7 dias no passado ou 100 dias no futuro.

Usa RFC 3339, em que a saída gerada é sempre normalizada em Z e usa 0, 3, 6 ou 9 dígitos fracionários. Outros ajustes também são aceitos. Por exemplo, "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30";

arrivalTime

string (Timestamp format)

Opcional. O horário de chegada. OBSERVAÇÃO: esse campo é ignorado quando as solicitações especificam um RouteTravelMode diferente de TRANSIT. É possível especificar departureTime ou arrivalTime, mas não ambos. As viagens de transporte público estão disponíveis por até 7 dias no passado ou 100 dias no futuro.

Usa RFC 3339, em que a saída gerada é sempre normalizada em Z e usa 0, 3, 6 ou 9 dígitos fracionários. Outros ajustes também são aceitos. Por exemplo, "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30";

computeAlternativeRoutes

boolean

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

routeModifiers

object (RouteModifiers)

Opcional. Um conjunto de condições a serem satisfeitas 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 de idioma para conferir a lista de idiomas disponíveis. Quando você não fornece esse valor, o idioma de exibição é inferido da localização da solicitação de rota.

regionCode

string

Opcional. O código da região, especificado como um valor 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 e a duração da etapa não são afetadas por esse valor. Se você não fornecer esse valor, as unidades de exibição serão inferidas da localização da primeira origem.

optimizeWaypointOrder

boolean

Opcional. Se definido como verdadeiro, o serviço tentará minimizar o custo geral da rota reordenando os pontos de parada intermediários especificados. A solicitação falha se algum dos waypoints intermediários for um waypoint via. Use ComputeRoutesResponse.Routes.optimized_intermediate_waypoint_index para encontrar a nova ordem. Se ComputeRoutesResponseroutes.optimized_intermediate_waypoint_index não for solicitado no cabeçalho X-Goog-FieldMask, a solicitação vai falhar. Se optimizeWaypointOrder for definido como "false", 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, um cálculo de rota de referência FUEL_EFFICIENT considera vários parâmetros que gerariam uma rota ideal com eficiência de combustível. 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: esses cálculos 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 proposiçõ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. 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ânsito 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 esse array contém várias entradas, a primeira é a rota mais recomendada. Se a matriz estiver vazia, isso significa que não foi possível encontrar um trajeto.

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 outra forma de cálculo. Quando o modo substituto é usado, esse campo contém informações detalhadas sobre a resposta substituta. Caso contrário, esse campo não será definido.

geocodingResults

object (GeocodingResults)

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

PolylineQuality

Um conjunto de valores que especificam a qualidade da polilinha.

Enums
POLYLINE_QUALITY_UNSPECIFIED Nenhuma preferência de qualidade de polilinha especificada. O valor padrão é OVERVIEW.
HIGH_QUALITY Especifica uma polilinha de alta qualidade, que é composta por mais pontos do que OVERVIEW, ao custo de um tamanho de resposta maior. 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. Usar essa 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 polilinha a ser retornado.

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

ReferenceRoute

Uma rota de referência compatível no ComputeRoutesRequest.

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

Trajeto com distância menor. Este é um recurso experimental.

Para solicitações de 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, atravessar estacionamentos etc. Esse recurso não retorna manobras que o Google Maps sabe serem ilegais.

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 meios de transporte, via pontos de referência intermediários ou optimizeWaypointOrder. Essas solicitações vão falhar. No entanto, é possível usar 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 que contiverem esse valor vão falhar.
TOLLS Informações sobre pedágios para o trajeto.
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. O conteúdo precisa ser lido no estado em que se encontra e é apenas para exibição. Não analise de forma programática.
FLYOVER_INFO_ON_POLYLINE Informações de sobrevoo para as rotas. A fieldmask routes.polyline_details.flyover_info precisa ser especificada para retornar essas informações. No momento, esses dados só são preenchidos para algumas regiões metropolitanas da Índia. Este recurso é experimental, e a SKU/taxa está sujeita a mudanças.
NARROW_ROAD_INFO_ON_POLYLINE Informações sobre vias estreitas para os trajetos. A fieldmask routes.polyline_details.narrow_road_info precisa ser especificada para retornar essas informações. No momento, esses dados só são preenchidos para algumas regiões metropolitanas da Índia. Este recurso é experimental, e a SKU/taxa está sujeita a mudanças.

Rota

Contém um trajeto, que consiste em uma série de segmentos de via conectados que unem pontos de partida, chegada 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 e comparar com outras.

legs[]

object (RouteLeg)

Uma coleção de trechos (segmentos de caminho entre pontos de referência) que compõem o trajeto. Cada trecho corresponde à viagem entre dois via Waypoints. Por exemplo, um trajeto sem waypoints intermediários tem apenas um trecho. Um trajeto que inclui um waypoint intermediário não via tem dois trechos. Um trajeto que inclui um waypoint intermediário via tem um trecho. A ordem dos trechos corresponde à ordem dos waypoints de origin para intermediates e destination.

distanceMeters

integer

A distância da viagem 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ânsito.

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 geral do trajeto. Essa polilinha é a polilinha combinada de todos os legs.

description

string

Uma descrição do trajeto.

warnings[]

string

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

viewport

object (Viewport)

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

travelAdvisory

object (RouteTravelAdvisory)

Informações adicionais sobre o trajeto.

optimizedIntermediateWaypointIndex[]

integer

Se você definir optimizeWaypointOrder como verdadeiro, esse campo vai conter a ordenação otimizada dos pontos de parada intermediários. Caso contrário, esse campo fica vazio. Por exemplo, se você inserir Origem: Los Angeles; Pontos de parada intermediários: Dallas, Bangor, Phoenix; Destino: Nova York; e a ordem otimizada dos pontos de parada intermediários for Phoenix, Dallas, Bangor, este campo vai conter os valores [2, 0, 1]. O índice começa com 0 para o primeiro ponto de parada 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, em caso de novo trajeto, respeitar a intenção original quando a rota foi criada. Trate esse token como um blob opaco. Não compare o valor dele em várias solicitações, porque ele pode mudar mesmo que o serviço retorne exatamente a mesma rota.

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

polylineDetails

object (PolylineDetails)

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

RouteLabel

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

Enums
ROUTE_LABEL_UNSPECIFIED Padrão: não usado.
DEFAULT_ROUTE A rota "melhor" padrão retornada para o cálculo de rota.
DEFAULT_ROUTE_ALTERNATE Uma alternativa ao trajeto padrão "melhor". Rotas como essa serão retornadas quando computeAlternativeRoutes for especificado.
FUEL_EFFICIENT Trajeto econômico. As rotas rotuladas com esse valor são consideradas otimizadas para parâmetros ecológicos, como consumo de combustível.
SHORTER_DISTANCE Trajeto com menor distância de viagem. Este é um recurso experimental.

RouteLeg

Contém um segmento entre pontos de parada 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 de viagem do trecho da rota, em metros.

duration

string (Duration format)

O tempo necessário para percorrer o trecho. Se route_preference for definido como TRAFFIC_UNAWARE, esse valor será igual a staticDuration. Se o route_preference for TRAFFIC_AWARE ou TRAFFIC_AWARE_OPTIMAL, esse valor será calculado considerando as condições de trânsito.

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 deste trecho que inclui a polilinha de cada 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, esse é 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, esse é um ponto na via.

steps[]

object (RouteLegStep)

Uma matriz de etapas que denotam segmentos dentro desse trecho. 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áfego, 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 neste 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 polilinhas.

geoJsonLinestring

object (Struct format)

Especifica uma polilinha usando o formato LineString do 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 compostos de 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 nesta 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 esta etapa.

startLocation

object (Location)

O local de início desta etapa.

endLocation

object (Location)

O local de término 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áfego, em uma etapa de trecho.

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 viagem 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, vire à esquerda, entre ou siga em frente).

Enums
MANEUVER_UNSPECIFIED Não utilizado.
TURN_SLIGHT_LEFT Vire um pouco para a esquerda.
TURN_SHARP_LEFT Vire bruscamente à 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 à 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 Entre no trânsito.
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 da 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 de trecho.

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 formato de texto.

staticDuration

object (LocalizedText)

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

RouteLegStepTransitDetails

Informações adicionais para o RouteLegStep relacionado a 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 de deslocamento nessa linha, conforme marcada no veículo ou no ponto de partida. O destino costuma ser a estação terminal.

headway

string (Duration format)

Especifica o tempo esperado como uma duração entre as partidas da mesma parada nesse horário. Por exemplo, se o valor de "headway seconds" for 600, aguarde 10 minutos caso perca 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 não a de partida. Por exemplo, se o trajeto 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 nos quadros de avisos para identificar uma viagem de transporte público aos passageiros. O texto precisa identificar exclusivamente 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 o ponto de chegada da etapa.

arrivalTime

string (Timestamp format)

A hora estimada de chegada da etapa.

Usa RFC 3339, em que a saída gerada é sempre normalizada em Z e usa 0, 3, 6 ou 9 dígitos fracionários. Outros ajustes também são aceitos. Por exemplo, "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30";

departureStop

object (TransitStop)

Informações sobre o ponto de partida da etapa.

departureTime

string (Timestamp format)

O horário estimado de partida da etapa.

Usa RFC 3339, em que a saída gerada é sempre normalizada em Z e usa 0, 3, 6 ou 9 dígitos fracionários. Outros ajustes também são aceitos. Por exemplo, "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30";

TransitStop

Informações sobre um ponto 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 nesta 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 (ou empresas) 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 dessa linha de transporte público, conforme fornecido pela empresa de transporte público.

color

string

A cor normalmente usada na sinalização dessa 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. Normalmente, esse nome é um número de linha, como "M7" ou "355".

textColor

string

A cor usada com frequência no texto da sinalização 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 localidade 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 trajetos 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 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ículos 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 receber em uma etapa do trecho, como possíveis restrições de zona de tráfego.

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

object (TollInfo)

Contém informações sobre pedágios no RouteLeg específico. Esse campo só é preenchido se esperamos que haja pedágios no RouteLeg. Se esse campo estiver definido, mas o subcampo "estimatedPrice" não estiver preenchido, esperamos que a via tenha pedágios, mas não sabemos o preço estimado. Se esse campo não existir, não haverá pedágio no RouteLeg.

speedReadingIntervals[]

object (SpeedReadingInterval)

Intervalos de leitura rápida que detalham a densidade do tráfego. Aplicável em caso de preferências de roteamento TRAFFIC_AWARE e TRAFFIC_AWARE_OPTIMAL. Os intervalos cobrem toda a polilinha do RouteLeg sem sobreposição. O ponto de início de um intervalo especificado é igual ao ponto de término 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 formato de texto.

duration

object (LocalizedText)

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

staticDuration

object (LocalizedText)

Duração sem considerar as condições de trânsito, representada em formato de 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. Esse campo não é preenchido se o RouteLeg não tiver segmentos multimodal 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. Esse campo não é preenchido se o RouteLeg não tiver segmentos multimodal 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 janela de visualização de latitude-longitude, representada como dois pontos low e high diagonalmente opostos. Uma janela de visualização é considerada uma região fechada, ou seja, inclui o limite. Os limites de latitude precisam estar entre -90 e 90 graus, e os de longitude entre -180 e 180 graus. Vários casos incluem:

  • Se low = high, a janela de visualização consiste nesse único ponto.

  • Se low.longitude > high.longitude, o intervalo de longitude será 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 janela de visualização vai incluir todas as longitudes.

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

  • Se low.latitude > 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 janela de visualização vazia vai resultar em um erro.

Por exemplo, esta janela de visualização 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 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 formato de texto.

duration

object (LocalizedText)

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

staticDuration

object (LocalizedText)

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

transitFare

object (LocalizedText)

Tarifa de transporte público representada em formato de texto.

PolylineDetails

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

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

object (FlyoverInfo)

Detalhes do sobrevôo ao longo da polilinha.

narrowRoadInfo[]

object (NarrowRoadInfo)

Detalhes de vias estreitas ao longo da polilinha.

FlyoverInfo

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

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

enum (RoadFeatureState)

Apenas saída. Indica se existe um sobrevôo para um determinado trecho da polilinha.

polylinePointIndex

object (PolylinePointIndex)

A localização das informações relacionadas ao sobrevôo ao longo da polilinha.

RoadFeatureState

Encapsula os estados de recursos de via ao longo de um trecho de polilinha.

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

PolylinePointIndex

Encapsula os índices de início e fim de um detalhe de polilinha. Para casos 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 de início desse detalhe na polilinha.

endIndex

integer

O índice final desse detalhe na polilinha.

NarrowRoadInfo

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

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

enum (RoadFeatureState)

Apenas saída. Indica se há uma via estreita em um determinado trecho da polilinha.

polylinePointIndex

object (PolylinePointIndex)

A localização de informações relacionadas a vias estreitas ao longo da polilinha.

GeocodingResults

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

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

object (GeocodedWaypoint)

Waypoint geocodificado de origem.

destination

object (GeocodedWaypoint)

Waypoint geocodificado de destino.

intermediates[]

object (GeocodedWaypoint)

Uma lista de waypoints geocodificados intermediários, cada um contendo um campo de índice que corresponde à posição de base zero do waypoint na ordem em que foram especificados na solicitação.

GeocodedWaypoint

Detalhes sobre os locais usados como pontos de referência. Preenchido apenas para pontos de referência de endereço. Inclui detalhes sobre os resultados da geocodificação para determinar a que 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

O tipo ou os tipos do 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 este resultado.

intermediateWaypointRequestIndex

integer

O índice do ponto de parada intermediário correspondente na solicitação. Preenchido apenas se o ponto de parada correspondente for um ponto intermediário.