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 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 de 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 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 définissent la vitesse de circulation. 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 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 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 routage lorsque vous souhaitez que les réponses soient les plus rapides possible et que des informations de routage approximatives soient suffisantes.
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 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 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.
Optimisation basée sur le 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 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 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 dépend du réseau routier et des 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.