Calculer des itinéraires

L'outil compute_routes renvoie un itinéraire entre un point de départ et une destination pour un mode de transport donné. La réponse inclut la distance et la durée de l'itinéraire. Par défaut, les itinéraires sont calculés sans tenir compte du trafic en temps réel. Pro ajoute un routage qui tient compte du trafic en temps réel et des itinéraires avec plus d'arrêts intermédiaires.

Cette page décrit les options de requête, y compris les options Pro, le contenu de la réponse et la facturation des requêtes. Pour obtenir le schéma complet de l'outil, consultez la documentation de référence sur compute_routes.

Options de requête

Option Description
origin, destination Obligatoire. Chacun est un point de cheminement : un address (une adresse lisible par l'humain ou un Plus Code), un place_id ou un lat_lng. Vous pouvez combiner les formats, par exemple une adresse pour le point de départ et un ID de lieu pour la destination.
travel_mode Mode de transport : DRIVE (par défaut), WALK, BICYCLE ou TRANSIT. Les itinéraires WALK sont en version bêta et peuvent parfois ne pas inclure de trottoirs ou de voies piétonnes clairs. Vous devez afficher cet avertissement pour tous les itinéraires à pied que vous affichez dans votre application.
routing_preference Comment les données de trafic sont utilisées pour calculer l'itinéraire : ROUTING_PREFERENCE_TRAFFIC_UNAWARE (par défaut) ou ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL, qui est une option Pro. ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL n'est pas compatible avec WALK ni BICYCLE. Consultez Routage prenant en compte le trafic.
intermediate_waypoints Arrêts ordonnés entre le point de départ et la destination. L'itinéraire passe par ces points dans l'ordre indiqué. Une requête peut inclure jusqu'à 10 points de cheminement intermédiaires, ou de 11 à 25 avec l'option Pro. Une requête comportant plus de 25 éléments renvoie une erreur INVALID_ARGUMENT. Les itinéraires en transports en commun ne sont pas compatibles avec les points de cheminement intermédiaires.
departure_time ou arrival_time Heure de départ du point d'origine ou d'arrivée à destination, sous la forme d'un code temporel RFC 3339. Définissez-en un au maximum. Par défaut, l'heure de départ est l'heure actuelle. Pour TRANSIT, l'heure peut être définie jusqu'à sept jours dans le passé ou 100 jours dans le futur. Pour les autres modes de transport, l'heure ne peut pas être passée et peut être fixée jusqu'à 365 jours à l'avance.
compute_alternative_routes Lorsque true, la réponse inclut des itinéraires bis en plus de l'itinéraire recommandé, si des alternatives sont disponibles. La valeur par défaut est false.
include_polyline Lorsque true, chaque itinéraire de la réponse inclut encodedPolyline. La valeur par défaut est false.
location_bias Latitude et longitude qui influencent la résolution des points de cheminement textuels, par exemple pour lever l'ambiguïté d'une adresse.

Options Pro

Deux options permettent de sélectionner le SKU Pro. Une requête qui utilise l'un ou les deux est facturée sous le SKU Pro :

Option Pro Quand l'utiliser ?
routing_preference défini sur ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL L'utilisateur pose une question sur le trafic, les embouteillages ou un temps de trajet qui tient compte du trafic actuel. Consultez Routage prenant en compte le trafic.
Entre 11 et 25 intermediate_waypoints L'itinéraire nécessite plus de 10 arrêts entre le point de départ et la destination.

Toutes les autres options sont facturées sous le SKU Essentials, y compris le mode de transport, la durée, les itinéraires alternatifs, les polylignes et la pondération géographique.

Routage tenant compte du trafic

Par défaut, les itinéraires sont calculés sans tenir compte des conditions de circulation en temps réel (ROUTING_PREFERENCE_TRAFFIC_UNAWARE). Ce paramètre offre la latence la plus faible. Il convient aux requêtes pour lesquelles le trafic n'a pas d'importance ou ne s'applique pas, comme les itinéraires à pied ou la planification approximative.

Définissez routing_preference sur ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL pour calculer l'itinéraire et sa durée en fonction des conditions de circulation actuelles, lorsque les données de trafic sont disponibles. Utilise cet outil lorsque l'utilisateur demande combien de temps dure un trajet en voiture en ce moment. Pour les itinéraires TRANSIT, ce paramètre utilise les données de transports en commun en temps réel, telles que les retards et les annulations, lorsqu'elles sont disponibles. Elle n'est pas compatible avec les routes WALK ou BICYCLE. Ces requêtes renvoient une erreur INVALID_ARGUMENT. Il s'agit d'une option Pro. La requête est donc facturée sous le SKU Pro. Cette option ajoute également de la latence.

Pendant la phase de disponibilité générale restreinte, si votre projet ne figure pas sur la liste d'autorisation Pro, cette option est traitée comme ROUTING_PREFERENCE_TRAFFIC_UNAWARE. Pour en savoir plus, consultez Options Pro pendant la disponibilité générale restreinte.

Exemple

La requête suivante demande un itinéraire en voiture tenant compte du trafic, avec un arrêt intermédiaire et une polyligne encodée. Il est facturé sous le SKU Pro :

{
  "method": "tools/call",
  "params": {
    "name": "compute_routes",
    "arguments": {
      "origin": {"address": "Ferry Building, San Francisco, CA"},
      "destination": {"address": "Golden Gate Park, San Francisco, CA"},
      "intermediate_waypoints": [
        {"address": "Palace of Fine Arts, San Francisco, CA"}
      ],
      "travel_mode": "DRIVE",
      "routing_preference": "ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL",
      "include_polyline": true
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}

Réponse

La réponse contient routes[], classés du plus au moins recommandé. Un seul itinéraire est renvoyé, sauf si compute_alternative_routes est défini sur true. Chaque itinéraire inclut les éléments suivants :

  • distanceMeters : distance de l'itinéraire, en mètres.
  • duration : temps nécessaire pour parcourir l'itinéraire. Avec ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL, la durée tient compte des conditions de circulation.
  • encodedPolyline : chemin d'accès de l'itinéraire sous forme de polyligne encodée, lorsque include_polyline est défini sur true. Vous pouvez l'utiliser pour tracer l'itinéraire sur une carte avec d'autres API Google Maps Platform.
  • attribution : attribution que vous devez afficher avec l'itinéraire. Consultez Exigences d'attribution.

Options Pro pendant la disponibilité générale restreinte

Pendant la disponibilité générale restreinte, les options Pro ne sont disponibles que pour les projets figurant sur la liste d'autorisation Pro. Si votre projet ne figure pas encore sur la liste d'autorisation :

  • ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL est traité comme ROUTING_PREFERENCE_TRAFFIC_UNAWARE, et la requête est facturée sous le SKU Essentials.
  • Une requête comportant plus de 10 points de cheminement intermédiaires renvoie une erreur INVALID_ARGUMENT ("At most 10 intermediate waypoints are supported.").

Pour demander l'accès, consultez Options Pro pendant la disponibilité générale restreinte.

Facturation et quotas

Chaque requête compute_routes correspond à un événement facturable :

La demande d'itinéraires alternatifs, d'une polyligne, d'une heure de départ ou d'arrivée, ou d'un autre mode de transport ne modifie pas le SKU.

Le quota de compute_routes est de 300 requêtes par minute et par projet, partagé par les deux SKU. Pour connaître les tarifs, consultez la grille tarifaire principale et la grille tarifaire pour l'Inde.

Limites

  • Une requête peut inclure au maximum 25 points de cheminement intermédiaires. Entre 11 et 25 est une option Pro. Une requête contenant plus d'éléments renvoie une erreur INVALID_ARGUMENT.
  • Les itinéraires en transports en commun ne sont pas compatibles avec les points de cheminement intermédiaires. Une requête de transport en commun avec des points de cheminement intermédiaires renvoie une erreur INVALID_ARGUMENT.
  • ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL n'est pas compatible avec les itinéraires à pied ou à vélo.
  • Pour les itinéraires en transports en commun, les heures de départ et d'arrivée peuvent remonter jusqu'à sept jours dans le passé ou être programmées jusqu'à 100 jours à l'avance. Pour les autres modes de transport, elles ne peuvent pas être dans le passé et peuvent être définies jusqu'à 365 jours à l'avance.
  • Les coordonnées des points de cheminement doivent se situer dans des limites géographiques valides (latitude de -90 à 90, longitude de -180 à 180).
  • L'outil ne renvoie pas de navigation détaillée, de segments ni de détails sur les lignes de transports en commun.