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 de deux manières :
Traffic aware : renvoie les résultats les plus précis possible (latence plus élevée).
Sans tenir compte du trafic : renvoie les résultats le plus rapidement possible (latence la plus faible).
Lorsque vous effectuez une requête, évaluez s'il est préférable de renvoyer les résultats les plus précis possible ou de les renvoyer 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 de trafic
L'API Routes fournit RoutingPreference (REST) et RoutingPreference (gRPC) qui vous permettent de spécifier les préférences de routage pour calculer les itinéraires.
La valeur par défaut est "Résultats sans tenir compte du trafic". Vous sélectionnez les options de trafic avec les préférences de routage TRAFFIC_UNAWARE
, TRAFFIC_AWARE
et TRAFFIC_AWARE_OPTIMAL
. Chaque préférence de routage produit des résultats différents en termes de qualité de l'itinéraire, d'heure d'arrivée estimée et de latence de réponse.
Conditions de circulation
Les conditions de circulation caractérisent le débit du trafic :
Trafic normal : aucune congestion, le trafic circule à une vitesse normale.
Trafic léger à modéré : la circulation devient plus dense et le trafic ralentit.
Trafic dense : embouteillages importants, avec une vitesse de circulation fortement réduite.
Sans info trafic
TRAFFIC_UNAWARE
est le paramètre par défaut. Utilisez cette préférence de routage lorsque vous souhaitez obtenir les réponses le plus rapidement possible et que des informations de routage approximatives vous suffisent.
Les itinéraires TRAFFIC_UNAWARE
sont calculés sans tenir compte des conditions de circulation actuelles. Cette préférence de routage permet d'obtenir la réponse la plus rapide à la requête (latence la plus faible).
Si vous sélectionnez TRAFFIC_UNAWARE
, l'itinéraire et la durée sont déterminés en fonction du réseau routier et des conditions de circulation moyennes toutes heures confondues, et non de l'état actuel des routes. Par conséquent, l'itinéraire peut inclure des routes temporairement fermées. Les résultats d'une requête donnée peuvent varier au fil du temps en raison des modifications du réseau routier, de l'évolution des conditions de circulation moyennes et de la nature décentralisée du service. Les résultats peuvent également varier entre plusieurs itinéraires presque équivalents à tout moment et à n'importe quelle fréquence.
Voici les réponses que vous verrez :
duration
: contient l'heure d'arrivée prévue pour l'itinéraire.staticDuration
: heure d'arrivée prévue pour l'itinéraire, en tenant compte uniquement des informations historiques sur le trafic. PourTRAFFIC_UNAWARE
, cette valeur est identique à celle deduration
.
Trafic
Utilisez cette préférence de routage lorsque vous souhaitez obtenir des informations de routage plus précises que TRAFFIC_UNAWARE
, mais que vous ne craignez pas que les réponses soient renvoyées avec une augmentation modérée de la latence.
Lorsque vous définissez la préférence de routage TRAFFIC_AWARE
, le service calcule l'itinéraire en tenant compte des conditions de trafic 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 des performances sont appliquées pour réduire une grande partie de la latence.
Voici les réponses que vous verrez :
duration
: heure d'arrivée prévue en tenant compte des informations sur le trafic en temps réel.staticDuration
Heure d'arrivée prévue pour l'itinéraire, en tenant compte uniquement des informations historiques sur le trafic.
Routage optimal prenant en compte le trafic
Utilisez cette préférence de routage lorsque vous souhaitez obtenir des résultats de la plus haute qualité, sans tenir compte du temps de réponse. Cette préférence de routage présente le délai de réponse le plus long (latence la plus élevée).
Lorsque vous définissez la préférence de routage TRAFFIC_AWARE_OPTIMAL
, le service calcule l'itinéraire en tenant compte des conditions de trafic actuelles, mais n'applique pas d'optimisations des performances. Dans ce mode, le serveur effectue une recherche plus exhaustive du réseau routier pour 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 x nombre de destinations) ne peut pas dépasser
- Pour en savoir plus sur les limites de Compute Route Matrix, consultez Calculer une matrice de routes.
Voici les réponses que vous verrez :
duration
: heure d'arrivée prévue pour l'itinéraire, en tenant compte des informations sur le trafic en temps réel.staticDuration
: heure d'arrivée prévue pour l'itinéraire, en tenant compte uniquement des informations historiques sur le trafic.
Définir une heure de départ (facultatif)
N'utilisez cette propriété que pour les requêtes tenant compte du trafic, où l'heure de départ doit être dans le futur. Si vous ne définissez pas la propriété departureTime
, la valeur par défaut est l'heure à laquelle vous envoyez la requête.
Utilisez la propriété departureTime
avec les options TRAFFIC_AWARE
et TRAFFIC_AWARE_OPTIMAL
lorsque vous souhaitez ajuster la façon dont le service prédit le trafic lors du choix d'un itinéraire.
TRAFFIC_UNAWARE
: non recommandé, 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.TRAFFIC_AWARE
etTRAFFIC_AWARE_OPTIMAL
: Recommandé pour les départs prévus dans un avenir proche, car ces préférences tiennent compte des conditions de circulation en temps réel. PlusdepartureTime
est proche de l'heure actuelle, plus la circulation en temps réel devient importante et pertinente. Plus vous définissez une heure de départ éloignée dans le futur, plus les conditions de trafic historiques sont prises en compte pour sélectionner les itinéraires.
Exemple : sélectionner le routage tenant compte du trafic
Le code JSON suivant montre comment définir la préférence de routage TRAFFIC_AWARE_OPTIMAL
dans le corps d'entité d'un 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 trafic le long d'une polyline tenant compte du trafic. Pour en savoir plus, consultez Demander des polylignes.