Retorna o trajeto principal junto com trajetos alternativos opcionais, de acordo com 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 o cabeçalho HTTP/gRPC X-Goog-FieldMask
. Consulte 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 construir 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 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 de caractere curinga (*
) nem 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 retornar o resultado com uma latência menor.
- Selecionar apenas os campos necessários no 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 mais tempo de computação. Se você selecionar todos os campos ou todos no nível superior, talvez a performance piore, porque todos os novos campos adicionados vão ser incluídos automaticamente na resposta.
- A seleção apenas dos campos necessários resulta em um tamanho de resposta menor e, portanto, maior capacidade de 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 ( |
Campos | |
---|---|
origin |
Obrigatório. Ponto de referência de origem. |
destination |
Obrigatório. Ponto de referência de destino. |
intermediates[] |
Opcional. Um conjunto de waypoints ao longo do trajeto (excluindo pontos terminais), para passar ou parar. São aceitos até 25 waypoints intermediários. |
travelMode |
Opcional. Especifica o meio de transporte. |
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 trajeto resultar em um erro ou em uma latência muito longa, um erro será retornado. No futuro, poderemos implementar um mecanismo substituto para usar uma opção diferente quando a opção preferida não fornecer um resultado válido. Só é possível especificar essa opção quando |
polylineQuality |
Opcional. Especifica sua preferência de qualidade da polilinha. |
polylineEncoding |
Opcional. Especifica a codificação preferencial para a polilinha. |
departureTime |
Opcional. O horário de partida. Se você não definir esse valor, o padrão será a hora em que você fez a solicitação. Se você definir esse valor como uma hora que já ocorreu, a solicitação falhará. Um carimbo de data/hora no formato UTC "Zulu" RFC3339, com resolução de nanossegundos e até nove dígitos fracionários. Exemplos: |
computeAlternativeRoutes |
Especifica se trajetos alternativos devem ser calculados além do trajeto. |
routeModifiers |
Opcional. Um conjunto de condições a serem atendidas que afetam a forma como os trajetos são calculados. |
languageCode |
Opcional. O código de idioma BCP-47, como "en-US" ou "sr-Latn". Para mais informações, consulte http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. Para ver a lista de idiomas compatíveis, consulte Suporte a idiomas. Quando você não fornece esse valor, o idioma de exibição é inferido com base no local da solicitação de trajeto. |
units |
Opcional. Especifica as unidades de medida dos campos de exibição. Isso inclui o campo |
optimizeWaypointOrder |
Se optimizeWaypointOrder for definido como true, será feita uma tentativa de reordenar os waypoints intermediários especificados para minimizar o custo geral do trajeto. Se algum dos waypoints intermediários for via waypoint, 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 |
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.