Les préférences de trafic que vous sélectionnez équilibrent la précision des détails de l'itinéraire avec 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 possible ou de renvoyer les résultats 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 de trafic
L'API Routes fournit RoutingPreference (REST) et RoutingPreference (gRPC) qui vous permettent de spécifier des préférences de calcul d'itinéraires. Ces préférences diffèrent dans la mesure où elles prennent en compte les conditions de circulation dans le calcul d'itinéraire. Chaque préférence de calcul d'itinéraire génère des résultats qui diffèrent dans une certaine mesure en termes de qualité de l'itinéraire, de l'heure d'arrivée estimée et de la latence de réponse.
Les conditions de circulation caractérisent le débit du trafic. Exemple :
- En l'absence de congestion, les conditions de circulation sont considérées comme normales et le trafic circule à la vitesse normale sans entrave.
- À l'approche des heures de pointe, la densité du trafic augmente, ce qui ralentit le trafic, produisant des conditions de circulation légères à modérées.
- Dans un embouteillage, le débit est presque nul, ce qui entraîne des conditions de circulation difficiles.
Trafic inconnu
Lorsque vous définissez la préférence de routage TRAFFIC_UNAWARE
, les itinéraires sont calculés sans tenir compte des conditions de circulation actuelles. Cette préférence de routage offre 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 estimée est contenue dans la propriété de réponse
duration
.Les propriétés de réponse
duration
etstaticDuration
contiennent la même valeur.
Utilisez cette préférence de calcul d'itinéraire lorsque vous souhaitez que les réponses soient renvoyées le plus rapidement possible et que les détails d'itinéraire approximatifs suffisent.
Prise en compte du trafic
Lorsque vous définissez la préférence de routage 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 augmentation de la qualité des données se fait au détriment de la latence de réponse, des optimisations des performances sont appliquées pour réduire une grande partie de la latence.
Dans la réponse :
L'heure d'arrivée estimée tenant compte du 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 obtenir des informations de routage plus précises que TRAFFIC_UNAWARE
, mais que vous n'êtes pas gêné si les réponses sont renvoyées avec une augmentation modérée de la latence.
Routage optimal tenant compte du trafic
Lorsque vous définissez la préférence de calcul d'itinéraire 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 pour trouver l'itinéraire optimal.
La préférence de calcul 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 x nombre de destinations) ne peut pas dépasser 100. Pour en savoir plus sur les limites de Compute Routes Matrix, consultez la section Calculer une matrice de calcul de routes.
Dans la réponse :
L'heure d'arrivée estimée tenant compte du 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 offre la latence de réponse la plus élevée (c'est-à-dire que les réponses sont renvoyées avec le délai le plus long). Utilisez cette préférence d'acheminement lorsque vous souhaitez obtenir des résultats de la plus haute qualité, sans tenir compte du temps de réponse.
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
, elle est définie par défaut sur l'heure à laquelle vous effectuez la requête.
Pour
TRAFFIC_UNAWARE
, vous ne pouvez pas définirdepartureTime
, car le choix de l'itinéraire et de la durée est basé sur le réseau routier et les conditions de circulation moyennes toutes heures confondues.Pour
TRAFFIC_AWARE
etTRAFFIC_AWARE_OPTIMAL
, qui tiennent compte des conditions de trafic en temps réel, le trafic en temps réel devient plus important à mesure quedepartureTime
se rapproche de l'heure actuelle. Plus vous définissez l'heure de départ dans le futur, plus les conditions de circulation historiques sont prises en compte.
Exemple de paramétrage de la préférence 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 le long d'une polyligne tenant compte du trafic. Pour en savoir plus, consultez la section Demander des polylignes.