Optimiza el orden de las paradas en tu ruta

Desarrolladores del Espacio Económico Europeo (EEE)

De forma predeterminada, el método computeRoutes de la biblioteca de Routes calcula una ruta a través de varias paradas, llamadas puntos de referencia de parada, en el orden en que las proporcionas.

Puedes hacer que la API de Routes optimice la ruta proporcionada reordenando las paradas en un orden más eficiente. La optimización de puntos de referencia optimiza el tiempo de viaje, pero también considera otros factores, como la distancia y la cantidad de giros, cuando decide qué ruta es la más eficiente.

Cómo optimizar los puntos de referencia

  1. Asegúrate de que ninguno de los puntos de referencia de la ruta tenga via establecido en true.
  2. Asegúrate de que routingPreference no esté configurado como TRAFFIC_AWARE_OPTIMAL.
  3. Establece optimizeWaypointOrder en true.
  4. Especifica el campo optimizedIntermediateWaypointIndices en la máscara de campo.

Cómo se optimiza el orden de las paradas

Así es como la API de Routes optimiza el orden de las paradas intermedias en una ruta:

  1. Indexa automáticamente los puntos de referencia según el orden en que los proporcionas en la solicitud, comenzando con 0.
  2. Optimiza el orden de los puntos de referencia con los números de índice que les asignó en la solicitud.
  3. Devuelve el orden optimizado de los puntos de referencia en la respuesta en optimizedIntermediateWaypointIndices.

Ejemplo de solicitud

En el siguiente ejemplo, se muestra cómo solicitar waypoints optimizados en una ruta desde Adelaida, Australia del Sur, hasta cada una de las principales regiones vinícolas de Australia del Sur y, luego, regresar a Adelaida.

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'],
};
  

Ejemplo de respuesta

En la respuesta, se incluye optimizedIntermediateWaypointIndices.
  Response:
 [
  {
    "optimizedIntermediateWaypointIndices": [
      3, // McLaren+Vale, SA
      2, // Coonawarra, SA
      0, // Barossa+Valley, SA
      1  // Clare, SA
    ],
    ...