Method: computeRoutes

Retorna o trajeto principal, juntamente com trajetos alternativos opcionais, considerando um conjunto de pontos de referência 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 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 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 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 economizar ciclos de computação, permitindo que retornemos o resultado para você com uma latência menor.
  • Selecionar apenas os campos necessários para o job de produção garante um desempenho de 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 um tamanho de resposta menor e, portanto, em um maior rendimento da rede.

Solicitação HTTP

POST https://routespreferred.googleapis.com/v1alpha: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,
  "computeAlternativeRoutes": boolean,
  "routeModifiers": {
    object (RouteModifiers)
  },
  "languageCode": string,
  "units": enum (Units),
  "optimizeWaypointOrder": boolean
}
Campos
origin

object (Waypoint)

Obrigatório. Ponto de passagem de origem.

destination

object (Waypoint)

Obrigatório. Ponto de referência do 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. Só é possível especificar essa opção quando travelMode é DRIVE ou TWO_WHEELER. Caso contrário, a solicitação vai falhar.

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 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.

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. Nenhum trajeto alternativo é retornado para solicitações que têm 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 aceitos. Quando você não fornece esse valor, o idioma de exibição é inferido com base no local da solicitação de trajeto.

units

enum (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.

optimizeWaypointOrder

boolean

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 estiver percorrendo esse modo, a solicitação 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 optimizeWaypointOrder for definido como falso, ComputeRoutesResponse.optimized_intermediate_waypoint_index vai estar vazio.

Corpo da resposta

Se a solicitação for bem-sucedida, o corpo da resposta conterá uma instância de ComputeRoutesResponse.

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.