Otimizar a ordem das paradas no seu trajeto

Desenvolvedores do Espaço Econômico Europeu (EEE)

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

  1. Verifique se nenhum dos pontos de parada na rota tem via definido como true.
  2. Verifique se routingPreference não está definido como TRAFFIC_AWARE_OPTIMAL.
  3. Defina optimizeWaypointOrder como true.
  4. Especifique o campo optimizedIntermediateWaypointIndices na 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:

  1. Indexa automaticamente os pontos de referência com base na ordem em que você os fornece na solicitação, começando com 0.
  2. Otimiza a ordem dos waypoints usando os números de índice atribuídos a eles na solicitação.
  3. 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 inclui optimizedIntermediateWaypointIndices.
  Response:
 [
  {
    "optimizedIntermediateWaypointIndices": [
      3, // McLaren+Vale, SA
      2, // Coonawarra, SA
      0, // Barossa+Valley, SA
      1  // Clare, SA
    ],
    ...