- Requête HTTP
- Corps de la requête
- Corps de la réponse
- Qualité des polylignes
- PolylineEncoding
- Unités
- RouteRoute de référence
- Extracalcul
- Route
- RouteLabel
- RouteLeg
- Polyligne
- RouteLegStep
- NavigationInstruction
- manœuvre
- RouteLegStepTravelAdvisory
- RouteLegTravelAdvisory
- Fenêtre d'affichage
- GeocodingResults
- GeocodeWaypoint
Renvoie l'itinéraire principal ainsi que les autres itinéraires possibles, en fonction d'un ensemble de points de cheminement terminal et intermédiaires.
REMARQUE:Cette méthode nécessite que vous spécifiiez un masque de champ de réponse dans l'entrée. Vous pouvez fournir le masque de champ de réponse à l'aide du paramètre d'URL $fields
ou fields
, ou à l'aide d'un en-tête HTTP/gRPC X-Goog-FieldMask
(consultez la section En-têtes et paramètres d'URL disponibles). La valeur correspond à une liste de chemins d'accès de champ séparés par une virgule. Consultez la documentation détaillée sur la création des chemins d'accès aux champs.
Par exemple, avec cette méthode:
- Masque de champ de tous les champs disponibles (pour l'inspection manuelle):
X-Goog-FieldMask: *
- Masque de champ de durée, distance et polyligne au niveau de l'itinéraire (exemple de configuration de production):
X-Goog-FieldMask: routes.duration,routes.distanceMeters,routes.polyline.encodedPolyline
Google déconseille d'utiliser le masque de champ de réponse générique (*
) ou de spécifier le masque de champ à la racine (routes
) pour les raisons suivantes:
- Sélectionner uniquement les champs dont vous avez besoin aide notre serveur à enregistrer des cycles de calcul, ce qui nous permet de vous renvoyer le résultat avec une latence plus faible.
- Sélectionner uniquement les champs dont vous avez besoin dans votre tâche de production garantit des performances de latence stables. À l'avenir, nous ajouterons peut-être d'autres champs de réponse, et ces nouveaux champs nécessiteront peut-être davantage de temps de calcul. Si vous sélectionnez tous les champs ou si vous sélectionnez tous les champs au niveau supérieur, vous constaterez peut-être une baisse des performances, car tout nouveau champ que nous ajouterons sera automatiquement inclus dans la réponse.
- Si vous ne sélectionnez que les champs dont vous avez besoin, la taille de la réponse est réduite et le débit du réseau est plus élevé.
Requête HTTP :
POST https://routes.googleapis.com/directions/v2:computeRoutes
L'URL utilise la syntaxe de transcodage gRPC.
Corps de la requête
Le corps de la requête contient des données présentant la structure suivante :
Représentation JSON |
---|
{ "origin": { object ( |
Champs | |
---|---|
origin |
Obligatoire. Point de cheminement d'origine. |
destination |
Obligatoire. Point de cheminement à destination. |
intermediates[] |
Facultatif. Ensemble de points de cheminement le long de l'itinéraire (hors points de terminaison) pour s'arrêter ou passer. Jusqu'à 25 points de cheminement intermédiaires sont acceptés. |
travelMode |
Facultatif. Spécifie le mode de transport. |
routingPreference |
Facultatif. Spécifie le mode de calcul de l'itinéraire. Le serveur tente d'utiliser la préférence de routage sélectionnée pour calculer la route. Si la préférence de routage génère une erreur ou une latence très longue, une erreur est renvoyée. Vous ne pouvez spécifier cette option que lorsque |
polylineQuality |
Facultatif. Spécifie votre préférence de qualité de la polyligne. |
polylineEncoding |
Facultatif. Spécifie l'encodage préféré pour la polyligne. |
departureTime |
Facultatif. Heure de départ. Si vous ne définissez pas cette valeur, elle correspond par défaut à l'heure à laquelle vous avez effectué la requête. Si vous définissez cette valeur sur une heure déjà passée, la requête échoue. Horodatage au format RFC3339 UTC "Zulu", avec une résolution de l'ordre de la nanoseconde et jusqu'à neuf chiffres fractionnaires. Exemples: |
computeAlternativeRoutes |
Facultatif. Indique si des itinéraires alternatifs doivent être calculés en plus de l'itinéraire. |
routeModifiers |
Facultatif. Ensemble de conditions à remplir qui affectent le mode de calcul des itinéraires. |
languageCode |
Facultatif. Le code de langue BCP-47, tel que "en-US" ou "sr-Latn". Pour en savoir plus, consultez la page http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. Consultez la page Langues acceptées pour obtenir la liste des langues acceptées. Si vous ne fournissez pas cette valeur, la langue d'affichage est déduite de l'emplacement de la requête d'itinéraire. |
regionCode |
Facultatif. Code régional, spécifié sous forme de valeur ccTLD (« domaine de premier niveau ») à deux caractères. Pour en savoir plus, consultez la page https://en.wikipedia.org/wiki/List_of_Internet_top-level_domains#Country_code_top-level_domains |
units |
Facultatif. Spécifie les unités de mesure des champs à afficher. Cela inclut le champ |
requestedReferenceRoutes[] |
Facultatif. Spécifie les routes de référence à calculer dans la requête en plus de la route par défaut. Un itinéraire de référence est un itinéraire avec un objectif de calcul d'itinéraire différent de l'itinéraire par défaut. Par exemple, le calcul d'un itinéraire de référence FUEL_EFFICIENT prend en compte divers paramètres qui permettent de générer un itinéraire économe en carburant optimal. |
extraComputations[] |
Facultatif. Liste de calculs supplémentaires pouvant être utilisés pour traiter la requête. Remarque: Ces calculs supplémentaires peuvent renvoyer des champs supplémentaires dans la réponse. Ces champs supplémentaires doivent également être spécifiés dans le masque de champ pour être renvoyés dans la réponse. |
Corps de la réponse
Si la requête aboutit, le corps de la réponse contient des données qui ont la structure suivante :
v2.computeRoutes.
Représentation JSON |
---|
{ "routes": [ { object ( |
Champs | |
---|---|
routes[] |
Contient un tableau de routes calculées (trois maximum) lorsque vous spécifiez compute_alternatives_routes, et ne contient qu'une seule route si vous ne le spécifiez pas. Lorsque ce tableau contient plusieurs entrées, la première est l'itinéraire le plus recommandé. Si le tableau est vide, cela signifie qu'aucune route n'a pu être trouvée. |
fallbackInfo |
Dans certains cas, lorsque le serveur ne parvient pas à calculer les résultats de toutes les préférences d'entrée, il peut utiliser une autre méthode de calcul. Lorsque le mode de remplacement est utilisé, ce champ contient des informations détaillées sur la réponse de remplacement. Sinon, ce champ n'est pas défini. |
geocodingResults |
Contient les informations de réponse de geocoding pour les points de cheminement spécifiés en tant qu'adresses. |
Qualité des polylignes
Ensemble de valeurs qui spécifie la qualité de la polyligne.
Enums | |
---|---|
POLYLINE_QUALITY_UNSPECIFIED |
Aucune préférence de qualité des polylignes spécifiée. La valeur par défaut est OVERVIEW . |
HIGH_QUALITY |
Spécifie une polyligne de haute qualité, composée de plus de points que OVERVIEW , au prix d'une taille de réponse plus élevée. Utilisez cette valeur lorsque vous avez besoin d'une plus grande précision. |
OVERVIEW |
Spécifie une polyligne d'aperçu, composée d'un petit nombre de points. Cette valeur permet d'afficher un aperçu de l'itinéraire. L'utilisation de cette option a une latence de requête inférieure à celle de l'option HIGH_QUALITY . |
Encodage Polyline
Spécifie le type préféré de polyligne à renvoyer.
Enums | |
---|---|
POLYLINE_ENCODING_UNSPECIFIED |
Aucune préférence de type de polyligne spécifiée. La valeur par défaut est ENCODED_POLYLINE . |
ENCODED_POLYLINE |
Spécifie une polyligne encodée à l'aide de l'algorithme d'encodage de polyligne. |
GEO_JSON_LINESTRING |
Spécifie une polyligne en utilisant le format LineString GeoJSON. |
Unités
Ensemble de valeurs qui spécifie l'unité de mesure utilisée à l'écran.
Enums | |
---|---|
UNITS_UNSPECIFIED |
Unités de mesure non spécifiées. Valeur par défaut : unité de mesure déduite de la requête. |
METRIC |
Unités de mesure des métriques. |
IMPERIAL |
Unités de mesure impériales (anglaises) |
Route de référence
Route de référence acceptée sur ComputeRoutesRequest.
Enums | |
---|---|
REFERENCE_ROUTE_UNSPECIFIED |
Non utilisé. Les requêtes contenant cette valeur échouent. |
FUEL_EFFICIENT |
Route économe en carburant Les itinéraires associés à cette valeur sont déterminés pour être optimisés pour certains paramètres tels que la consommation de carburant. |
Extracalcul
Calculs supplémentaires à effectuer lors de l'exécution de la requête.
Enums | |
---|---|
EXTRA_COMPUTATION_UNSPECIFIED |
Non utilisé. Les requêtes contenant cette valeur échoueront. |
TOLLS |
Informations sur les péages pour les itinéraires |
FUEL_CONSUMPTION |
Estimation de la consommation de carburant des itinéraires. |
TRAFFIC_ON_POLYLINE |
Trafic prenant en charge les polylignes pour l'itinéraire ou les itinéraires. |
Route
Encapsule un itinéraire. Il s'agit d'une série de sections de route reliées par des points de départ (début, fin et intermédiaire).
Représentation JSON |
---|
{ "routeLabels": [ enum ( |
Champs | |
---|---|
routeLabels[] |
Étiquettes pour |
legs[] |
Ensemble de sections (segments de chemin entre les points de cheminement) qui composent l'itinéraire. Chaque section correspond au trajet entre deux points de cheminement autres que |
distanceMeters |
Distance de l'itinéraire, en mètres. |
duration |
Temps nécessaire pour parcourir l'itinéraire Si vous définissez Durée en secondes avec neuf chiffres au maximum après la virgule. Se termine par " |
staticDuration |
Durée d'un itinéraire sans tenir compte des conditions de circulation Durée en secondes avec neuf chiffres au maximum après la virgule. Se termine par " |
polyline |
Polyligne globale de l'itinéraire. Cette polyligne sera la polyligne combinée de tous les |
description |
Description de l'itinéraire. |
warnings[] |
Tableau d'avertissements à afficher lors de l'affichage de l'itinéraire. |
viewport |
Zone de délimitation de la fenêtre d'affichage de la polyligne. |
travelAdvisory |
Informations supplémentaires sur l'itinéraire. |
routeToken |
Jeton de routage encodé en base64 et sécurisé pour le Web qui peut être transmis à NavigationSDK, ce qui permet au SDK Navigation de reconstruire l'itinéraire pendant la navigation. En cas de réacheminement, il obtient l'intention initiale lorsque les routes v2.computeRoutes sont appelées. Les clients doivent traiter ce jeton comme un blob opaque. REMARQUE: |
Étiquette de route
Étiquettes pour Route
permettant d'identifier les propriétés spécifiques de la route à comparer aux autres.
Enums | |
---|---|
ROUTE_LABEL_UNSPECIFIED |
Par défaut - non utilisé. |
DEFAULT_ROUTE |
La "meilleure" route par défaut renvoyée pour le calcul de la route |
DEFAULT_ROUTE_ALTERNATE |
Alternative au meilleur itinéraire par défaut. Les itinéraires de ce type sont renvoyés lorsque ComputeRoutesRequest.compute_alternative_routes est spécifié. |
FUEL_EFFICIENT |
Route économe en carburant Les itinéraires associés à cette valeur sont déterminés pour optimiser les paramètres éco, comme la consommation de carburant. |
RouteLeg
Encapsule une section entre les points de cheminement autres que via
.
Représentation JSON |
---|
{ "distanceMeters": integer, "duration": string, "staticDuration": string, "polyline": { object ( |
Champs | |
---|---|
distanceMeters |
Distance du trajet par le trajet, en mètres. |
duration |
Temps nécessaire pour parcourir la jambe. Si Durée en secondes avec neuf chiffres au maximum après la virgule. Se termine par " |
staticDuration |
Durée du trajet par l'étape, calculée sans prendre en compte les conditions de circulation. Durée en secondes avec neuf chiffres au maximum après la virgule. Se termine par " |
polyline |
Polyligne globale de cette jambe. Cela inclut la polyligne de chaque |
startLocation |
Lieu de départ de cette section. Elle peut être différente du |
endLocation |
Emplacement d'arrivée de cette section. Elle peut être différente du |
steps[] |
Tableau d'étapes indiquant des segments dans cette section. Chaque étape représente une instruction de navigation. |
travelAdvisory |
Encapsule les informations supplémentaires dont l'utilisateur doit être informé, telles qu'une possible zone interdite dans une section de route, etc. |
Polyline
Encapsule une polyligne encodée.
Représentation JSON |
---|
{ // Union field |
Champs | |
---|---|
Champ d'union polyline_type . Encapsule le type de polyligne. La valeur par défaut est "encoded_polyline". polyline_type ne peut être qu'un des éléments suivants : |
|
encodedPolyline |
Encodage de chaîne de la polyligne à l'aide de l'algorithme d'encodage de polyligne |
geoJsonLinestring |
Spécifie une polyligne en utilisant le format LineString GeoJSON. |
RouteLegStep
Encapsule un segment d'une RouteLeg
. Une étape correspond à une seule instruction de navigation. Les étapes de l'itinéraire sont constituées d'étapes.
Représentation JSON |
---|
{ "distanceMeters": integer, "staticDuration": string, "polyline": { object ( |
Champs | |
---|---|
distanceMeters |
Distance parcourue par cette étape, en mètres. Dans certains cas, ce champ peut ne pas avoir de valeur. |
staticDuration |
Durée de ce trajet sans tenir compte des conditions de circulation. Dans certains cas, ce champ peut ne pas avoir de valeur. Durée en secondes avec neuf chiffres au maximum après la virgule. Se termine par " |
polyline |
Polyligne associée à cette étape. |
startLocation |
Lieu de départ de cette étape. |
endLocation |
Emplacement de fin de cette étape. |
navigationInstruction |
Instructions de navigation. |
travelAdvisory |
Encapsule les informations supplémentaires dont l'utilisateur doit être informé, comme la possible restriction de zone de circulation sur une étape du trajet. |
Manœuvre
Ensemble de valeurs qui spécifie l'action de navigation à effectuer pour l'étape actuelle (par exemple, tourner à gauche, fusionner, rectifier, etc.)
Enums | |
---|---|
MANEUVER_UNSPECIFIED |
Non utilisé. |
TURN_SLIGHT_LEFT |
Tournez légèrement vers la gauche. |
TURN_SHARP_LEFT |
Tourner complètement à gauche. |
UTURN_LEFT |
Faire demi-tour sur la gauche |
TURN_LEFT |
Tournez à gauche. |
TURN_SLIGHT_RIGHT |
Tournez légèrement vers la droite. |
TURN_SHARP_RIGHT |
Tourner complètement à droite. |
UTURN_RIGHT |
Faites demi-tour sur la droite. |
TURN_RIGHT |
Tournez à droite. |
STRAIGHT |
Allez droit au but. |
RAMP_LEFT |
Prendre la bretelle de gauche |
RAMP_RIGHT |
Prendre la bretelle vers la droite |
MERGE |
Fusionner dans le trafic. |
FORK_LEFT |
Prenez la fourchette de gauche. |
FORK_RIGHT |
Prenez une fourchette. |
FERRY |
Prenez le ferry. |
FERRY_TRAIN |
Prenez le train en direction du ferry. |
ROUNDABOUT_LEFT |
Au rond-point tournez à gauche. |
ROUNDABOUT_RIGHT |
Au rond-point tournez à droite. |
RouteLegStepTravelAdvisory
Encapsule les informations supplémentaires dont l'utilisateur doit être informé, comme la possible restriction de zone de circulation sur une étape du trajet.
Représentation JSON |
---|
{
"speedReadingIntervals": [
{
object ( |
Champs | |
---|---|
speedReadingIntervals[] |
REMARQUE: Ce champ n'est actuellement pas renseigné. |
RouteLegTravelAdvisory
Encapsule les informations supplémentaires dont l'utilisateur doit être informé, telles qu'une possible zone interdite dans une section de route, etc.
Représentation JSON |
---|
{ "tollInfo": { object ( |
Champs | |
---|---|
tollInfo |
Encapsule des informations sur les péages sur le RouteLeg spécifique. Ce champ n'est renseigné que si nous prévoyons des péages sur le RouteLeg. Si ce champ est défini, mais que le sous-champ "pricePrice" n'est pas renseigné, nous pensons que la route contient des péages, mais nous ne connaissons pas le prix estimé. Si ce champ n'existe pas, cela signifie qu'il n'y a pas de péage sur le RouteLeg. |
speedReadingIntervals[] |
Intervalles de lecture de vitesse détaillant la densité du trafic. Applicable aux préférences de routage Exemple :
|
Fenêtre d'affichage
Une fenêtre d'affichage de latitude-longitude représentée par deux points diagonalement opposés des points low
et high
. Une fenêtre d'affichage est considérée comme une région fermée, c'est-à-dire qu'elle inclut ses limites. Les limites de latitude doivent être comprises entre -90 et 90 degrés inclus, et les limites de longitude doivent être comprises entre -180 et 180 degrés inclus. Divers cas peuvent être concernés:
Si
low
=high
, la fenêtre d'affichage se compose de ce point unique.Si
low.longitude
>high.longitude
, la plage de longitude est inversée (la fenêtre d'affichage traverse la ligne de longitude de 180 degrés).Si
low.longitude
= -180 degrés ethigh.longitude
= 180 degrés, la fenêtre d'affichage inclut toutes les longitudes.Si
low.longitude
= 180 degrés ethigh.longitude
= -180 degrés, la plage de longitude est vide.Si
low.latitude
>high.latitude
, la plage de latitude est vide.
low
et high
doivent être renseignés, et la zone représentée ne peut pas être vide (comme spécifié par les définitions ci-dessus). Une fenêtre d'affichage vide génère une erreur.
Par exemple, cette fenêtre d'affichage englobe entièrement New York:
{ "low": { "latitude": 40.477398, "longitude": -74.259087 }, "élevé": { "latitude": 40.91618, "longitude": -73.70018 }
Représentation JSON |
---|
{ "low": { object ( |
Champs | |
---|---|
low |
Obligatoire. Point le plus bas de la fenêtre d'affichage. |
high |
Obligatoire. Point culminant de la fenêtre d'affichage. |
GeocodingRésultats
Contient des points de cheminement géocodés pour l'origine, la destination et les points de cheminement intermédiaires. Valeur renseignée seulement pour les points de cheminement d'adresse.
Représentation JSON |
---|
{ "origin": { object ( |
Champs | |
---|---|
origin |
Point de cheminement d'origine géocodé. |
destination |
Point de cheminement géocodé de destination. |
intermediates[] |
Liste de points de cheminement géocodés intermédiaires contenant chacun un champ d'index correspondant à la position basée sur zéro du point de cheminement dans l'ordre dans lequel ils ont été spécifiés dans la requête. |
Point géocodéen
Informations détaillées sur les lieux utilisés comme points de cheminement Valeur renseignée seulement pour les points de cheminement d'adresse. Inclut des détails sur les résultats du geocoding pour déterminer l'adresse géocodée.
Représentation JSON |
---|
{
"geocoderStatus": {
object ( |
Champs | |
---|---|
geocoderStatus |
Indique le code d'état résultant de l'opération de geocoding. |
type[] |
Type(s) de résultat, sous la forme de zéro ou de plusieurs tags de type. Types compatibles: https://developers.google.com/maps/documentation/geocoding/requests-geocoding#Types |
partialMatch |
Indique que le geocoder n'a pas renvoyé de correspondance exacte pour la requête d'origine, bien qu'il ait pu trouver une partie de l'adresse demandée. Nous vous recommandons d'examiner la requête d'origine pour vérifier qu'elle ne contient pas d'erreur de syntaxe et/ou que l'adresse est bien complète. |
placeId |
ID de lieu pour ce résultat. |
intermediateWaypointRequestIndex |
Index du point de cheminement intermédiaire correspondant dans la requête. Valeur renseignée uniquement si le point de cheminement correspondant est un point de cheminement intermédiaire. |