Vérifiez la réponse à l'itinéraire

Développeurs de l'Espace économique européen (EEE)

Lorsque l'API Routes calcule un itinéraire, elle prend en compte les waypoints et les paramètres de configuration que vous fournissez en entrée. L'API renvoie ensuite une réponse contenant la route par défaut et une ou plusieurs routes alternatives.

Votre réponse peut inclure différents types d'itinéraires et d'autres données, en fonction des champs que vous demandez :

Pour inclure cela dans la réponse Consulter cette documentation
L'itinéraire le plus économe en carburant ou en énergie en fonction du type de moteur du véhicule. Configurer les itinéraires économes en carburant
Jusqu'à trois itinéraires bis Demander d'autres itinéraires
Polyligne pour un itinéraire complet, pour chaque étape d'un itinéraire et pour chaque sous-étape d'une étape. Demander des polylignes d'itinéraire
Les péages estimés, en tenant compte des remises ou des pass disponibles pour le conducteur ou le véhicule. Calculer les frais de péage
Réponses localisées par code de langue et unité de mesure (impériale ou métrique). Demander des valeurs localisées
Pour mettre en forme les instructions de navigation en tant que chaîne de texte HTML, ajoutez HTML_FORMATTED_NAVIGATION_INSTRUCTIONS à extraComputations. Calculs supplémentaires

Pour obtenir la liste complète des options d'entrée, consultez Options de route disponibles et Corps de la requête.

À l'aide de la réponse, vous pouvez fournir à vos clients les informations nécessaires pour sélectionner l'itinéraire adapté à leurs besoins.

À propos des masques de champ

Lorsque vous appelez une méthode pour calculer un itinéraire, vous devez spécifier un masque de champ qui définit les champs que vous souhaitez renvoyer dans la réponse. Il n'existe pas de liste par défaut des champs renvoyés. Si vous omettez cette liste, les méthodes renvoient une erreur.

Les exemples de ce document montrent l'intégralité de l'objet de réponse sans tenir compte des masques de champ. Dans un environnement de production, votre réponse n'inclurait que les champs que vous spécifiez explicitement dans le masque de champ.

Pour en savoir plus, consultez Choisir les informations à renvoyer.

À propos de l'affichage des droits d'auteur

Vous devez inclure la mention de copyright suivante lorsque vous affichez les résultats à vos utilisateurs :

Powered by Google, ©YEAR Google

Exemple :

Powered by Google, ©2023 Google

À propos des itinéraires, des étapes et des instructions

Avant d'examiner la réponse renvoyée par l'API Routes, vous devez comprendre les composants qui constituent un itinéraire :

L'itinéraire, l'étape et le tronçon.

Votre réponse peut contenir des informations sur chacun de ces composants d'itinéraire :

  • Itinéraire : trajet complet du point de départ à la destination, en passant par les points de cheminement intermédiaires. Un itinéraire se compose d'une ou de plusieurs sections.

  • Section : chemin d'un point de repère à un autre dans un itinéraire. Chaque étape est constituée d'une ou plusieurs étapes distinctes.

    Un itinéraire contient une section distincte pour le trajet entre chaque point de cheminement et le suivant. Par exemple, si l'itinéraire contient un seul point de départ et un seul point de destination, il ne comporte qu'une seule étape. Pour chaque point de repère supplémentaire que vous ajoutez à l'itinéraire après l'origine et la destination, appelé point de repère intermédiaire, l'API ajoute une étape distincte.

    L'API n'ajoute pas de tronçon pour un point de cheminement intermédiaire pass-through. Par exemple, un itinéraire qui contient un point de départ, un point de cheminement intermédiaire et un point de destination ne contient qu'une seule section allant du point de départ à la destination, en passant par le point de cheminement. Pour en savoir plus sur les points de cheminement intermédiaires, consultez Définir un point de cheminement intermédiaire.

  • Étape : instruction unique le long d'une section d'itinéraire. Une étape est l'unité la plus petite d'un itinéraire. Par exemple, une étape peut indiquer "Tournez à gauche sur la rue principale".

Contenu de la réponse

L'objet JSON représentant la réponse de l'API contient les propriétés de premier niveau suivantes :

  • routes, un tableau d'éléments de type Route. Le tableau routes contient un élément pour chaque itinéraire renvoyé par l'API. Le tableau peut contenir jusqu'à cinq éléments : la route par défaut, la route écologique et jusqu'à trois itinéraires alternatifs.

  • geocodingResults, un tableau d'éléments de type GeocodingResults. Pour chaque lieu de la requête (origine, destination ou point de repère intermédiaire) que vous avez spécifié sous la forme d'une chaîne d'adresse ou d'un plus code, l'API effectue une recherche d'ID de lieu. Chaque élément de ce tableau contient l'ID de lieu correspondant à un emplacement. Les lieux de la requête spécifiés sous forme d'identifiant de lieu ou de coordonnées de latitude/longitude ne sont pas inclus. Si vous avez spécifié tous les lieux à l'aide d'ID de lieux ou de coordonnées de latitude et de longitude, ce tableau n'est pas fourni.

  • fallbackInfo, de type FallbackInfo. Si l'API n'est pas en mesure de calculer un itinéraire à partir de toutes les propriétés d'entrée, elle peut utiliser une autre méthode de calcul. Lorsque le mode de secours est utilisé, ce champ contient des informations détaillées sur la réponse de secours. Sinon, ce champ n'est pas défini.

La réponse se présente sous la forme suivante :

{
  // The routes array.
  "routes": [
    {
      object (Route)
    }
  ],
  // The place ID lookup results.
  "geocodingResults": [
    {
      object (GeocodedWaypoint)
    }
  ],
  // The fallback property.
  "fallbackInfo": {
    object (FallbackInfo)
  }
}

Déchiffrer le tableau des routes

La réponse contient le tableau routes, où chaque élément du tableau est de type Route. Chaque élément du tableau représente un itinéraire complet, du point de départ à la destination. L'API renvoie toujours au moins un itinéraire, appelé itinéraire par défaut.

Vous pouvez demander d'autres itinéraires. Si vous demandez un itinéraire économe en carburant, le tableau peut contenir deux éléments : l'itinéraire par défaut et l'itinéraire économe en carburant. Vous pouvez également définir computeAlternativeRoutes sur true dans la requête pour ajouter jusqu'à trois itinéraires alternatifs à la réponse.

Chaque itinéraire du tableau est identifié par la propriété de tableau routeLabels :

Valeur Description
DEFAULT_ROUTE Identifie l'itinéraire par défaut.
FUEL_EFFICIENT Identifie l'itinéraire respectueux de l'environnement.
DEFAULT_ROUTE_ALTERNATE Iindique un itinéraire bis.

Le tableau legs contient la définition de chaque section de l'itinéraire. Les propriétés restantes, telles que distanceMeters, duration et polyline,, contiennent des informations sur l'itinéraire dans son ensemble :

{
  "routeLabels": [
    enum (RouteLabel)
  ],
  "legs": [
    {
      object (RouteLeg)
    }
  ],
  "distanceMeters": integer,
  "duration": string,
  "routeLabels": [string],
  "staticDuration": string,
  "polyline": {
    object (Polyline)
  },
  "description": string,
  "warnings": [
    string
  ],
  "viewport": {
    object (Viewport)
  },
  "travelAdvisory": {
    object (RouteTravelAdvisory)
  }
  "routeToken": string
}

En raison des conditions de conduite actuelles et d'autres facteurs, l'itinéraire par défaut et l'itinéraire économe en carburant peuvent être identiques. Dans ce cas, le tableau routeLabels contient les deux libellés : DEFAULT_ROUTE et FUEL_EFFICIENT.

{
  "routes": [
    {
      "routeLabels": [
        "DEFAULT_ROUTE",
        "FUEL_EFFICIENT"
      ],
     
    }
  ]
}

Comprendre le tableau "legs"

Chaque route de la réponse contient un tableau legs, où chaque élément du tableau legs est de type RouteLeg. Chaque section du tableau définit le chemin d'accès d'un point de repère au point de repère suivant sur l'itinéraire. Un itinéraire contient toujours au moins une étape.

La propriété legs contient la définition de chaque étape du trajet dans le tableau steps. Les propriétés restantes, telles que distanceMeters, duration et polyline, contiennent des informations sur la section.

{
  "distanceMeters": integer,
  "duration": string,
  "staticDuration": string,
  "polyline": {
    object (Polyline)
  },
  "startLocation": {
    object (Location)
  },
  "endLocation": {
    object (Location)
  },
  "steps": [
    {
      object (RouteLegStep)
    }
  ],
  "travelAdvisory": {
    object (RouteLegTravelAdvisory)
  }
}

Comprendre le tableau des étapes

Chaque étape de la réponse contient un tableau steps, où chaque élément du tableau steps est de type RouteLegStep. Une étape correspond à une instruction unique le long de la section. Un tronçon contient toujours au moins une étape.

Chaque élément du tableau steps inclut la propriété navigationInstruction, de type NavigationInstruction, qui contient l'instruction de l'étape. Exemple :

"navigationInstruction": {
  "maneuver": "TURN_LEFT",
  "instructions": "Turn left toward Frontage Rd"
}

Le instructions peut contenir des informations supplémentaires sur l'étape. Exemple :

"navigationInstruction": {
  "maneuver": "TURN_SLIGHT_LEFT",
  "instructions": "Slight left (signs for I-90 W/Worcester)nParts of this road may be closed at certain times or days"
}

Les propriétés restantes de l'étape décrivent des informations sur l'étape, telles que distanceMeters, duration et polyline :

{
  "distanceMeters": integer,
  "staticDuration": string,
  "polyline": {
    object (Polyline)
  },
  "startLocation": {
    object (Location)
  },
  "endLocation": {
    object (Location)
  },
  "navigationInstruction": {
    object (NavigationInstruction)
  }
}

Spécifier la langue des instructions de l'étape

L'API renvoie des informations sur l'itinéraire dans la langue locale, translittérées dans un script lisible par l'utilisateur, si nécessaire, tout en respectant la langue préférée. Tous les composants d'adresse sont renvoyés dans la même langue.

  • Utilisez le paramètre languageCode d'une requête pour définir explicitement la langue de l'itinéraire à partir de la liste des langues acceptées. Google met souvent à jour les langues acceptées. Cette liste n'est donc pas exhaustive.

  • Si aucun nom n'est disponible dans la langue spécifiée, l'API utilise le nom le plus proche.

  • La langue spécifiée peut influencer l'ensemble des résultats que l'API choisit de renvoyer et l'ordre dans lequel ils sont renvoyés. Le géocodeur interprète les abréviations différemment selon la langue, par exemple les abréviations des types de rues ou les synonymes qui peuvent être valides dans une langue, mais pas dans une autre. Par exemple, utca et tér sont des synonymes de "rue" en hongrois.

Comprendre le tableau "geocodingResults"

Pour chaque lieu de la requête (origine, destination ou point de cheminement intermédiaire) spécifié sous la forme d'une chaîne d'adresse ou d'un plus code, l'API tente de trouver le lieu le plus pertinent qui possède un ID de lieu correspondant. Chaque élément du tableau geocodingResults contient le champ placeID qui contient l'emplacement sous forme d'ID de lieu et un champ type qui spécifie le type d'emplacement, tel que street_address, premise ou airport.

Le tableau geocodingResults contient trois champs :

  • origin : ID du lieu d'origine, s'il a été spécifié sous forme de chaîne d'adresse ou de Plus Code. Sinon, ce champ est omis de la réponse.

  • destination : ID du lieu de destination, s'il a été spécifié sous forme de chaîne d'adresse ou de Plus Code. Sinon, ce champ est omis de la réponse.

  • intermediates : tableau contenant l'ID de lieu de tous les points de cheminement intermédiaires spécifiés sous forme de chaîne d'adresse ou de Plus Code. Si vous spécifiez un point de cheminement intermédiaire à l'aide d'un ID de lieu ou de coordonnées de latitude et de longitude, il est omis de la réponse. Utilisez la propriété intermediateWaypointRequestIndex dans la réponse pour déterminer quel point de chemin intermédiaire de la requête correspond à l'ID de lieu dans la réponse.

"geocodingResults": {
    "origin": {
        "geocoderStatus": {},
        "type": [
             enum (Type)
        ],
        "placeId": string
    },
    "destination": {
        "geocoderStatus": {},
        "type": [
            enum (Type)
        ],
        "placeId": string
    },
    "intermediates": [
        {
            "geocoderStatus": {},
            "intermediateWaypointRequestIndex": integer,
            "type": [
                enum (Type)
            ],
            "placeId": string
        },
        {
           "geocoderStatus": {},
           "intermediateWaypointRequestIndex": integer,
            "type": [
                enum (Type)
            ],
            "placeId": string
        }
    ]
}

Comprendre les valeurs de réponse localisées

Les valeurs de réponse localisées sont un champ de réponse supplémentaire qui fournit du texte localisé pour les valeurs de paramètre renvoyées. Le texte localisé est fourni pour la durée du trajet, la distance et le système d'unités (métrique ou impérial). Vous demandez des valeurs localisées à l'aide d'un masque de champ. Vous pouvez spécifier la langue et le système d'unités, ou utiliser les valeurs déduites par l'API. Pour en savoir plus, consultez LocalizedValues.

Par exemple, si vous spécifiez un code de langue pour l'allemand (de) et des unités impériales, vous obtenez une valeur de 49889,7 pour distanceMeters, mais aussi un texte localisé indiquant cette mesure de distance en allemand et en unités impériales, soit "31 Meile".

Voici un exemple de ce que vous verrez pour les valeurs localisées :

{ "localized_values":
  {
    "distance": { "text": "31,0 Meile/n" },
    "duration": { "text": 38 Minuten}.
    "static_duration": { "text": 36 Minuten}.
  }
}

Si vous ne spécifiez pas la langue ni le système d'unités, l'API les déduit comme suit :

  • La méthode ComputeRoutes déduit les unités de localisation et de distance du point de cheminement d'origine. Ainsi, pour une requête de routage aux États-Unis, l'API déduit la langue en-US et les unités IMPERIAL.
  • La méthode ComputeRouteMatrix utilise par défaut la langue "en-US" et les unités METRIC.