Ottimizzare l'ordine delle fermate sul percorso

Sviluppatori dello Spazio economico europeo (SEE)

Per impostazione predefinita, il metodo della libreria Routes computeRoutes calcola un percorso attraverso più tappe, chiamate waypoint di sosta, nell'ordine in cui le fornisci.

Puoi chiedere all'API Routes di ottimizzare l'itinerario fornito riorganizzando le soste in un ordine più efficiente. L'ottimizzazione delle tappe ottimizza il tempo di percorrenza, ma prende in considerazione anche altri fattori come la distanza e il numero di svolte quando decide quale percorso è il più efficiente.

Per ottimizzare i waypoint

  1. Assicurati che nessuno dei waypoint del percorso abbia via impostato su true.
  2. Assicurati che routingPreference non sia impostato su TRAFFIC_AWARE_OPTIMAL.
  3. Imposta optimizeWaypointOrder su true.
  4. Specifica il campo optimizedIntermediateWaypointIndices nella maschera del campo.

Comprendere come viene ottimizzato l'ordine dei waypoint

Ecco come l'API Routes ottimizza l'ordine dei waypoint in un percorso:

  1. Indicizza automaticamente i waypoint in base all'ordine in cui li fornisci nella richiesta, a partire da 0.
  2. Ottimizza l'ordine dei waypoint utilizzando i numeri di indice assegnati ai waypoint nella richiesta.
  3. Restituisce l'ordine ottimizzato dei waypoint nella risposta in optimizedIntermediateWaypointIndices.

Esempio di richiesta

L'esempio seguente mostra come richiedere waypoint ottimizzati in un itinerario da Adelaide, Australia del Sud, a ciascuna delle principali regioni vinicole dell'Australia del Sud e poi tornare ad 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'],
};
  

Esempio di risposta

La risposta include optimizedIntermediateWaypointIndices.
  Response:
 [
  {
    "optimizedIntermediateWaypointIndices": [
      3, // McLaren+Vale, SA
      2, // Coonawarra, SA
      0, // Barossa+Valley, SA
      1  // Clare, SA
    ],
    ...