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

Lorsque l'API Routes calcule une route, elle utilise en entrée les points de cheminement et les paramètres de configuration que vous fournissez. L'API renvoie ensuite une réponse contenant la route default et une ou plusieurs routes alternatives.

Votre réponse peut inclure différents types de routes et d'autres données, en fonction des champs demandés:

Pour l'inclure dans la réponse Consulter cette documentation
Itinéraire le plus économe en carburant ou en énergie en fonction du type de moteur du véhicule. Configurer des itinéraires économes en carburant
Jusqu'à trois itinéraires alternatifs Demander des itinéraires alternatifs
Polyligne d'un itinéraire complet, pour chaque section d'un itinéraire et pour chaque étape d'une section. Demander des polylignes d'itinéraire
Estimation des péages, en tenant compte des remises sur les péages 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 par 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 la section Options de routage disponibles et le corps de la requête.

Grâce à cette réponse, vous pouvez fournir à vos clients les informations nécessaires pour sélectionner l'itinéraire le plus 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 illustrent 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'inclura que les champs que vous spécifiez explicitement dans le masque de champ.

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

À propos de l'affichage des droits d'auteur

Lorsque vous présentez les résultats à vos utilisateurs, vous devez inclure la déclaration de droits d'auteur ci-dessous:

Powered by Google, ©YEAR Google

Exemple :

Powered by Google, ©2023 Google

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

Avant d'examiner la réponse renvoyée par l'API Routes, vous devez connaître les composants d'une route:

Le trajet, la section et le pas.

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

  • Itinéraire: l'intégralité du trajet entre le point de cheminement de départ et le point de cheminement de destination en passant par tous les points de cheminement intermédiaires. Un itinéraire se compose d'une ou de plusieurs sections.

  • Section: chemin entre un point de cheminement d'un itinéraire et le prochain point de cheminement de l'itinéraire. Chaque étape se compose d'un ou de plusieurs étapes distincts.

    Un itinéraire comprend 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 cheminement de départ et un seul point de cheminement de destination, il ne contient qu'une seule section. Pour chaque point de cheminement supplémentaire que vous ajoutez à l'itinéraire après le point de départ et la destination (appelé point de cheminement intermédiaire), l'API ajoute une section distincte.

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

  • Étape: instruction unique le long de la section d'un itinéraire. Une étape est l'unité la plus atomique d'une route. Par exemple, une étape peut indiquer "Tourner à gauche sur Main Street".

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: l'itinéraire par défaut, l'itinéraire économe en carburant et jusqu'à trois itinéraires alternatifs.

  • geocodingResults, un tableau d'éléments de type GeocodingResults Pour chaque point géographique de la requête (point de départ, destination ou point de cheminement intermédiaire) que vous avez spécifié en tant que chaîne d'adresse ou Plus code, l'API effectue une recherche d'ID de lieu. Chaque élément de ce tableau contient l'identifiant de lieu correspondant à un lieu. Les lieux indiqués dans la requête en tant qu'identifiant de lieu ou en tant que coordonnées de latitude/longitude ne sont pas inclus. Si vous avez spécifié tous les établissements à l'aide d'ID de lieu 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 une route à partir de toutes les propriétés d'entrée, elle peut avoir recours à 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.

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 une route, appelée route par défaut.

Vous pouvez demander des itinéraires supplémentaires. 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 le plus économe. Vous pouvez également définir computeAlternativeRoutes sur true dans la requête pour ajouter jusqu'à trois routes alternatives à la réponse.

Chaque route du tableau est identifiée par la propriété de tableau routeLabels:

Valeur Description
DEFAULT_ROUTE Identifie la route par défaut.
FUEL_EFFICIENT Identifie l'itinéraire économe en carburant.
DEFAULT_ROUTE_ALTERNATE Indique un itinéraire alternatif.

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 la route 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 circulation 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 étiquettes: DEFAULT_ROUTE et FUEL_EFFICIENT.

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

Comprendre le tableau "jambes"

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

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

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

Comprendre le tableau "steps"

Chaque section de la réponse contient un tableau steps, où chaque élément de tableau steps est de type RouteLegStep. Une étape correspond à une seule instruction le long de la section. Une jambe contient toujours au moins un pas.

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

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

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 autres propriétés 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, transcrites en un script lisible par l'utilisateur, si nécessaire, tout en observant la langue préférée. Les composants de l'adresse sont tous renvoyés dans la même langue.

  • Utilisez le paramètre languageCode d'une requête pour définir explicitement la langue du routage à partir de la liste des langues acceptées. Google met régulièrement à jour les langues acceptées. Cette liste peut donc ne pas être exhaustive.

  • Si un nom n'est pas disponible dans la langue spécifiée, l'API utilise la correspondance la 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 geocoder interprète les abréviations différemment selon la langue : par exemple, les abréviations de types de rue 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 point géographique de la requête (point de départ, destination ou point de cheminement intermédiaire) spécifié en tant que chaîne d'adresse ou Plus code, l'API tente de trouver le lieu le plus pertinent ayant un ID de lieu correspondant. Chaque élément du tableau geocodingResults contient le champ placeID contenant le lieu en tant qu'ID de lieu et un champ type spécifiant le type de lieu, tel que street_address, premise ou airport.

Le tableau geocodingResults contient trois champs:

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

  • destination: ID de lieu de la destination, s'il a été spécifié en tant que chaîne d'adresse ou 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 cheminement intermédiaire dans 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éponses localisées

Les valeurs de réponse localisées sont un champ de réponse supplémentaire qui fournit un 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ériale). Vous demandez des valeurs localisées à l'aide d'un masque de champ, et vous pouvez soit spécifier la langue et le système d'unités, soit 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 les unités impériales, vous obtenez une valeur de distanceMeters de 49889,7, mais également le texte localisé indiquant cette mesure de distance en allemand et en unités impériales, par exemple "31 Meile".

Voici un exemple de ce que vous verriez 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 déduit la langue et les unités comme suit:

  • La méthode ComputeRoutes déduit l'unité de lieu et de distance à partir du point de cheminement de départ. 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.