Optimiser l'ordre des arrêts sur votre itinéraire

Développeurs de l'Espace économique européen (EEE)

Par défaut, la méthode computeRoutes de la bibliothèque Routes calcule un itinéraire passant par plusieurs arrêts, appelés points de cheminement intermédiaires, dans l'ordre dans lequel vous les fournissez.

Vous pouvez demander à l'API Routes d'optimiser l'itinéraire fourni en réorganisant les arrêts dans un ordre plus efficace. L'optimisation des points de cheminement optimise le temps de trajet, mais tient également compte d'autres facteurs tels que la distance et le nombre de bifurcations pour déterminer l'itinéraire le plus efficace.

Pour optimiser les points de cheminement

  1. Assurez-vous qu'aucun des waypoints de l'itinéraire n'a la valeur via définie sur true.
  2. Assurez-vous que routingPreference n'est pas défini sur TRAFFIC_AWARE_OPTIMAL.
  3. Définissez optimizeWaypointOrder sur true.
  4. Spécifiez le champ optimizedIntermediateWaypointIndices dans le masque de champ.

Comprendre comment l'ordre des points de repère est optimisé

Voici comment l'API Routes optimise l'ordre des points de cheminement d'un itinéraire :

  1. Indexe automatiquement les waypoints en fonction de l'ordre dans lequel vous les fournissez dans la requête, en commençant par 0.
  2. Optimise l'ordre des points de cheminement à l'aide des numéros d'index qu'il leur a attribués dans la requête.
  3. Renvoie l'ordre optimisé des points de repère dans la réponse sous optimizedIntermediateWaypointIndices.

Exemple de requête

L'exemple suivant montre comment demander des waypoints optimisés dans un itinéraire allant d'Adélaïde, en Australie-Méridionale, à chacune des principales régions viticoles d'Australie-Méridionale, puis retournant à Adélaïde.

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

Exemple de réponse

La réponse inclut optimizedIntermediateWaypointIndices.
  Response:
 [
  {
    "optimizedIntermediateWaypointIndices": [
      3, // McLaren+Vale, SA
      2, // Coonawarra, SA
      0, // Barossa+Valley, SA
      1  // Clare, SA
    ],
    ...