Indiquez comment et si vous souhaitez inclure les données sur le trafic

Les préférences de trafic que vous sélectionnez équilibrent la précision des détails de l'itinéraire et les performances des requêtes. Lorsque vous effectuez une requête, vous devez déterminer s'il est préférable de renvoyer les résultats les plus précis possibles ou le plus rapidement possible. L'API Routes fournit des options qui vous permettent de contrôler la qualité des données de réponse par rapport à la latence de la réponse.

Définir le niveau des données sur le trafic

L'API Routes fournit les protocoles RoutingPreference (REST) et RoutingPreference (gRPC) qui vous permettent de spécifier les préférences de routage pour le calcul des routes. Ces préférences diffèrent dans la mesure où elles tiennent compte des conditions de circulation dans le calcul de l'itinéraire. Chaque préférence de routage produit des résultats qui diffèrent sensiblement en termes de qualité des routes, d'estimation de l'heure d'arrivée prévue et de latence de réponse.

Les conditions de circulation définissent la vitesse de circulation. Exemple :

  • En l'absence d'embouteillages, les conditions de circulation sont considérées comme normales et le trafic circule à la vitesse normale.
  • À l'approche de l'heure de pointe, la densité du trafic augmente, ce qui ralentit le trafic et produit des conditions de circulation de faible à modérée.
  • Dans un trafic de pare-chocs à pare-chocs, le débit s'interrompt, ce qui entraîne des conditions de circulation dense.

Non sensible au trafic

Lorsque vous définissez la préférence d'itinéraire TRAFFIC_UNAWARE, les itinéraires sont calculés sans tenir compte des conditions de circulation actuelles. Cette préférence de routage fournit la latence de réponse la plus faible (les réponses sont renvoyées le plus rapidement).

TRAFFIC_UNAWARE est le paramètre par défaut.

Dans la réponse :

  • L'heure d'arrivée prévue est contenue dans la propriété de réponse duration.

  • Les propriétés de réponse duration et staticDuration contiennent la même valeur.

Utilisez cette préférence de routage lorsque vous souhaitez que les réponses soient les plus rapides possible et que des informations de routage approximatives soient suffisantes.

Sensible au trafic

Lorsque vous définissez la préférence d'itinéraire TRAFFIC_AWARE, les itinéraires sont calculés en tenant compte des conditions de circulation actuelles. Par conséquent, l'itinéraire et ses détails reflètent plus précisément les conditions réelles. Étant donné que cette amélioration de la qualité des données se fait au détriment de la latence de réponse, des optimisations de performances sont appliquées afin de réduire une grande partie de la latence.

Dans la réponse :

  • L'heure d'arrivée prévue qui prend en compte le trafic en temps réel est contenue dans la propriété de réponse duration.

  • La propriété de réponse staticDuration contient la durée du trajet sur l'itinéraire sans tenir compte des conditions de circulation.

Utilisez cette préférence de routage lorsque vous souhaitez des détails de routage plus précis que TRAFFIC_UNAWARE et que, pourtant, le fait que des réponses soient renvoyées avec une augmentation modérée de la latence ne vous dérange pas.

Optimisation basée sur le trafic

Lorsque vous définissez la préférence de routage TRAFFIC_AWARE_OPTIMAL, les itinéraires sont calculés en tenant compte des conditions de circulation actuelles, mais aucune optimisation des performances n'est appliquée. Dans ce mode, le serveur effectue une recherche plus exhaustive du réseau routier afin de trouver l'itinéraire optimal.

La préférence d'itinéraire TRAFFIC_AWARE_OPTIMAL est équivalente au mode utilisé par maps.google.com et par l'application mobile Google Maps.

Lorsque vous utilisez cette option avec Compute Route Matrix, le nombre d'éléments dans une requête (nombre d'origines × nombre de destinations) ne peut pas dépasser 100. Pour en savoir plus sur les limites de Compute Route Matrix, consultez la section Calculer une matrice de routes.

Dans la réponse :

  • L'heure d'arrivée prévue qui prend en compte le trafic en temps réel est contenue dans la propriété de réponse duration.

  • La propriété de réponse staticDuration contient la durée du trajet sur l'itinéraire sans tenir compte des conditions de circulation.

Cette préférence de routage fournit la latence de réponse la plus élevée (c'est-à-dire que les réponses renvoient le délai le plus long). Utilisez cette préférence de routage lorsque vous souhaitez obtenir des résultats de la plus haute qualité, quelle que soit la durée des réponses.

Effet de la définition de l'heure de départ

Vous pouvez éventuellement utiliser la propriété departureTime pour définir l'heure de départ d'un trajet. Si vous ne définissez pas la propriété departureTime, l'heure à laquelle vous effectuez la requête est utilisée par défaut.

  • Pour TRAFFIC_UNAWARE, vous ne pouvez pas définir departureTime, car le choix de l'itinéraire et de la durée dépend du réseau routier et des conditions de circulation moyennes toutes heures confondues.

  • Pour TRAFFIC_AWARE et TRAFFIC_AWARE_OPTIMAL, qui prennent en compte les conditions de trafic en temps réel, plus la departureTime est proche de l'heure actuelle, plus le trafic en temps réel devient important. Plus vous définissez l'heure de départ dans le futur, plus l'historique des conditions de circulation est pris en compte.

Exemple de définition des préférences de routage

Le code JSON suivant montre comment définir la préférence de routage dans le corps d'une entité de message de requête.

{
  "origin":{
    "location":{
      "latLng":{
        "latitude":37.419734,
        "longitude":-122.0827784
      }
    }
  },
  "destination":{
    "location":{
      "latLng":{
        "latitude":37.417670,
        "longitude":-122.079595
      }
    }
  },
  "travelMode":"DRIVE",
  "routingPreference":"TRAFFIC_AWARE_OPTIMAL"
}

Configurer le trafic sur les polylignes

L'API Routes vous permet de demander des informations sur les conditions de circulation sur une polyligne en fonction du trafic. Pour en savoir plus, consultez la section Demander des polylignes.