L'API Routes est actuellement en version bêta (avant la mise à disposition générale). Il est possible que les produits et fonctionnalités pré-DG présentent une compatibilité limitée, et que les modifications apportées aux produits et fonctionnalités pré-DG ne soient pas compatibles avec d'autres versions pré-DG. Les Offres de pré-DG sont couvertes par les Conditions spécifiques au service Google Maps Platform. Pour en savoir plus, consultez les descriptions des étapes de lancement.

Configurer la qualité et la latence

Restez organisé à l'aide des collections Enregistrez et classez les contenus selon vos préférences.

Lorsque vous effectuez une requête, vous devrez peut-être décider s'il est préférable de renvoyer les résultats les plus précis possible ou aussi rapidement que 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.

Configurer le niveau des données de trafic

L'API Routes fournit les fonctionnalités RoutingPreference (REST) et RoutingPreference (gRPC) qui vous permettent de spécifier des 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 trafic dans le calcul de l'itinéraire. Chaque préférence de routage produit des résultats qui diffèrent pour la qualité de l'itinéraire, l'heure d'arrivée prévue et la latence des réponses.

Les conditions de circulation caractérisent la vitesse de circulation. Exemple :

  • En l'absence d'encombrement, les conditions de circulation sont considérées comme normales, et le trafic circule à vitesse normale.
  • Très proche de l'heure de pointe, la densité du trafic augmente, ce qui ralentit le trafic, produisant de légères conditions de circulation.
  • Dans le trafic bumper, le débit s'arrête et la circulation est dense.

Trafic inconscient

Lorsque vous définissez la préférence de routage TRAFFIC_UNAWARE, les routes sont calculées sans tenir compte des conditions de trafic 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 renvoient le plus rapidement possible et que les détails de routage approximatifs soient suffisants.

Infos trafic

Lorsque vous définissez la préférence de routage TRAFFIC_AWARE, les routes sont calculées en tenant compte des conditions de circulation actuelles. Par conséquent, les détails de la route reflètent plus précisément les conditions réelles. Cette augmentation de la qualité des données s'effectue au détriment de la latence des réponses. Des optimisations de performances sont donc appliquées pour réduire la latence.

Dans la réponse:

  • L'heure d'arrivée prévue en 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 de la route sans tenir compte des conditions de circulation.

Utilisez cette préférence de routage lorsque vous souhaitez des informations de routage plus précises que TRAFFIC_UNAWARE, et que cela ne vous dérange pas que les réponses soient renvoyées avec une augmentation modérée de la latence.

Trafic optimal optimal

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

La préférence de routage TRAFFIC_AWARE_OPTIMAL équivaut au mode utilisé par maps.google.com et par l'application mobile Google Maps.

Lorsque vous utilisez cette option avec la matrice de routage de Compute, 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 la matrice de routage Compute, consultez la section Calculer une matrice de routes.

Dans la réponse:

  • L'heure d'arrivée prévue en 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 de la route sans tenir compte des conditions de circulation.

Cette préférence de routage fournit la latence de réponse la plus élevée (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 souhaitée de départ d'un trajet. Si vous ne définissez pas la propriété departureTime, la valeur par défaut est l'heure à laquelle vous effectuez la requête.

  • Pour TRAFFIC_UNAWARE, vous ne pouvez pas définir departureTime, car le choix de l'itinéraire et la durée sont basés sur le réseau routier et les 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, le trafic en direct devient plus important à l'approche de departureTime. Plus vous définissez une heure de départ dans le futur, plus les conditions de circulation historiques sont prises en compte.

Exemple de paramétrage d'une préférence de routage

Le code JSON suivant montre comment définir la préférence de routage dans un corps d'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 la qualité des polylignes

L'API Routes vous permet d'obtenir 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 informations sur le trafic des polylignes.

La qualité d'une polyligne peut être décrite dans les termes suivants:

  • Nombre de points qui composent la polyligne

    Plus il y a de points, plus la polyligne est lisse (en particulier dans les courbes).

  • Précision des points en virgule flottante

    Les points sont spécifiés en tant que valeurs de latitude et de longitude, représentées par un format à virgule flottante à simple précision. Cela fonctionne bien pour les petites valeurs (qui peuvent être représentées avec précision), mais la précision diminue à mesure que les valeurs augmentent en raison d'erreurs d'arrondi à virgule flottante.

Les méthodes computeRoutes (REST) et ComputeRoutes (gRPC) acceptent l'option de requête polylineQuality pour contrôler la qualité des polylignes.

Exemple de paramétrage de la qualité des polylignes

polylineQuality spécifie la qualité de la polyligne en tant que HIGH_QUALITY ou OVERVIEW (valeur par défaut). Avec OVERVIEW, la polyligne est composée d'un petit nombre de points et présente une latence de requête inférieure à HIGH_QUALITY.

Par exemple, dans le corps de la 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",
  "polylineQuality": "HIGH_QUALITY",
  "polylineEncoding": "ENCODED_POLYLINE", 
  "departureTime": "2023-10-15T15:01:23.045123456Z",
  ...
}