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

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

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

Pour l'inclure dans la réponse Consulter cette documentation
L'itinéraire le plus économe en carburant ou en énergie selon le type de moteur du véhicule. Configurer des itinéraires économes en carburant
Jusqu'à trois itinéraires alternatifs Demander d'autres itinéraires
Polyligne d'un itinéraire, pour chaque section et chaque étape d'une jambe. Demander des polylignes d'itinéraire
Estimation des péages, en tenant compte des éventuelles remises sur les prix de péage ou cartes à la disposition du conducteur ou du véhicule. Calculer les frais de péage
Réponses localisées par code de langue et unité de mesure (impérial ou la 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 d'itinéraire disponibles. et Corps de la requête.

Grâce à la réponse, vous pouvez fournir à vos clients les informations nécessaires pour sélectionner le parcours 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'y a aucun liste par défaut des champs renvoyés. Si vous omettez cette liste, les méthodes renvoient une .

Les exemples de ce document montrent l'intégralité de l'objet de réponse de 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 Choisir les informations à renvoyer.

À propos de l'affichage des droits d'auteur

Vous devez inclure la déclaration de droits d'auteur 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 pas

Avant d'examiner la réponse renvoyée par l'API Routes, vous devez Vous devez connaître les composants d'un itinéraire:

L'itinéraire, la section et l'étape.

Votre réponse peut contenir des informations sur chacun de ces composants de route:

  • Itinéraire: trajet complet à partir du point de cheminement d'origine, des points de cheminement intermédiaires vers le point de cheminement de destination. Un itinéraire comprend ou plusieurs jambes.

  • Trajet : chemin entre un point de cheminement d'un itinéraire et le point de cheminement suivant. Chaque étape se compose d'une ou de plusieurs étapes distinctes.

    Un itinéraire contient une section distincte pour le chemin 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 point de cheminement de destination, l'itinéraire comporte une seule section. Pour chaque un 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 étape distincte.

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

  • Pas: instruction unique sur la section d'un itinéraire. Une étape est la plus une unité atomique d'une route. Par exemple, une étape peut indiquer "Tourner à 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: l'itinéraire par défaut, le plus respectueux de l'environnement et jusqu'à trois itinéraires alternatifs.

  • geocodingResults, un tableau d'éléments de type GeocodingResults. Pour chaque lieu inclus dans la requête (point de départ, destination ou intermédiaire point de cheminement) 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 ID de lieu correspondant à un établissement. Les emplacements de la requête spécifiés en tant qu'identifiant de lieu ou en tant que coordonnées de latitude/longitude ne sont pas inclus. Si vous avez spécifié toutes les zones géographiques à l'aide d'identifiants de lieu ou 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, il peut revenir à l'utilisation d'une autre méthode de calcul. Lorsque la création de remplacement est utilisé, ce champ contient des informations détaillées sur le remplacement de réponse. 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 entre le point de départ et la destination. La 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: le la route par défaut et la route é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 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. Le reste telles que distanceMeters, duration et polyline, contiennent plus d'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 fonction des conditions de conduite actuelles et d'autres facteurs, l'itinéraire par défaut et l'itinéraire écoresponsable peut être le même. Dans ce cas, le tableau routeLabels contient les deux étiquettes: DEFAULT_ROUTE et FUEL_EFFICIENT.

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

Comprendre le tableau "jams"

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

La propriété legs contient la définition de chaque étape de la section 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 section de la réponse contient un tableau steps, où chaque tableau steps est de type RouteLegStep : Une étape correspond à une seule instruction le long de la jambe. Une jambe contient toujours au moins une étape.

Chaque élément du tableau steps inclut le 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 la concernant, par exemple en tant 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 par étape

L'API renvoie les informations d'itinéraire dans la langue locale, après translittération en d'un script lisible par l'utilisateur, si nécessaire, tout en observant langue. Les composants d'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 de l'itinéraire à partir de la liste des langues acceptées. Google met souvent à jour les cette liste n'est donc pas exhaustive.

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

  • La langue spécifiée peut influencer l'ensemble des résultats L'API choisit les retours ainsi que l'ordre dans lequel ils sont retourné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 pouvant être valides dans une langue, mais pas dans une autre. Par exemple, utca et tér sont des synonymes pour en hongrois.

Comprendre le tableau geocodingResults

Pour chaque lieu de la requête (origine, destination ou point de repère 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 associé à un ID de lieu correspondant. Chaque élément du geocodingResults le tableau contient le champ placeID contenant l'emplacement sous la forme d'un ID de lieu et un champ type spécifiant l'emplacement tel que street_address, premise ou airport.

Le tableau geocodingResults contient trois champs:

  • origin: si elle a été spécifiée en tant que chaîne d'adresse ou en tant que Plus code, le ID de lieu de l'origine. Sinon, ce champ est omis de la réponse.

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

  • intermediates: tableau contenant l'ID de lieu de tout intermédiaire les points de cheminement spécifiés sous la forme d'une chaîne d'adresse ou d'un Plus code. Si vous indiquez un point de cheminement intermédiaire utilisant un identifiant de lieu ou une latitude ses coordonnées, il est omis de la réponse. Utilisez les intermediateWaypointRequestIndex dans la réponse pour déterminer le point de cheminement intermédiaire de la requête correspondant à l'identifiant de lieu 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 des réponses localisées

Les valeurs de réponse localisées sont un champ de réponse supplémentaire qui fournit texte localisé pour les valeurs de paramètres renvoyées. Le texte localisé est fourni pour durée du trajet, distance et système d'unités (système métrique ou impérial). Vous demandez localisées à l'aide d'un masque de champ, et peuvent spécifier la langue et d'unités ou d'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 l'impérial, unités, vous obtenez une valeur distanceMeters de 49 889,7, ainsi qu'un texte localisé proposant cette mesure de distance en allemand unités impériales, donc « 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 de langue ou de système d'unités, l'API déduit la langue et les unités, comme suit:

  • La méthode ComputeRoutes déduit l'emplacement et la distance. à partir du point de cheminement d'origine. Pour une requête de routage aux États-Unis, déduit : en-US langue et IMPERIAL unités.
  • La méthode ComputeRouteMatrix est définie par défaut sur "en-US". langue et METRIC.