Por padrão, o método computeRoutes da biblioteca Routes
calcula um trajeto por várias paradas, chamadas de waypoints de parada, na ordem em que você
as fornece.
Você pode fazer com que a API Routes otimize o trajeto fornecido reorganizando as paradas em uma ordem mais eficiente. A otimização de waypoints otimiza o tempo de viagem, mas também considera outros fatores, como distância e número de curvas, ao decidir qual rota é a mais eficiente.
Para otimizar pontos de referência
- Verifique se nenhum dos pontos de parada na rota tem
viadefinido comotrue. - Verifique se
routingPreferencenão está definido comoTRAFFIC_AWARE_OPTIMAL. - Defina
optimizeWaypointOrdercomotrue. - Especifique o campo
optimizedIntermediateWaypointIndicesna máscara de campo.
Entenda como a ordem dos pontos de referência é otimizada
Veja como a API Routes otimiza a ordem dos pontos de parada em um trajeto:
- Indexa automaticamente os pontos de referência com base na ordem em que você os fornece na solicitação, começando com 0.
- Otimiza a ordem dos waypoints usando os números de índice atribuídos a eles na solicitação.
- Retorna a ordem otimizada dos waypoints na resposta em
optimizedIntermediateWaypointIndices.
Exemplo de solicitação
O exemplo a seguir mostra como solicitar pontos de referência otimizados em uma rota de Adelaide, Austrália Meridional, para cada uma das principais regiões vinícolas da Austrália Meridional e, em seguida, retornar a Adelaide.
const request = { origin: 'Adelaide, SA', destination: 'Adelaide, SA', intermediates: [ {location: "Barossa+Valley,SA"}, {location: "Clare,SA"}, {location: "Coonawarra,SA"}, {location: "McLaren+Vale,SA"}, ], travelMode: 'DRIVING', optimizeWaypointOrder: true, fields: ['path','optimizedIntermediateWaypointIndices'], };
Exemplo de resposta
A resposta incluioptimizedIntermediateWaypointIndices.
Response: [ { "optimizedIntermediateWaypointIndices": [ 3, // McLaren+Vale, SA 2, // Coonawarra, SA 0, // Barossa+Valley, SA 1 // Clare, SA ], ...