Method: computeRoutes

Renvoie l'itinéraire principal ainsi que des itinéraires alternatifs facultatifs, en fonction d'un ensemble de points de cheminement intermédiaires et de destination.

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 les paramètres et en-têtes d'URL disponibles). La valeur est une liste de chemins de champs séparés par une virgule. Consultez la documentation détaillée sur la construction des chemins d'accès aux champs.

Par exemple, dans cette méthode :

  • Masque de champ de tous les champs disponibles (pour l'inspection manuelle) : X-Goog-FieldMask: *
  • Masque de champ de la durée, de la distance et de la 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 l'utilisation du masque de champ de réponse générique (*) ou la spécification du masque de champ au niveau supérieur (routes), car :

  • Si vous ne sélectionnez que les champs dont vous avez besoin, notre serveur économise des cycles de calcul, ce qui nous permet de vous renvoyer le résultat avec une latence plus faible.
  • Si vous ne sélectionnez que les champs dont vous avez besoin dans votre job de production, vous garantissez des performances de latence stables. Nous pourrons ajouter d'autres champs de réponse à l'avenir, et ces nouveaux champs pourront nécessiter un temps de calcul supplémentaire. Si vous sélectionnez tous les champs ou tous les champs au niveau supérieur, les performances peuvent se dégrader, car tout nouveau champ que nous ajoutons 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 sera plus petite et le débit réseau sera donc 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 (Waypoint)
  },
  "destination": {
    object (Waypoint)
  },
  "intermediates": [
    {
      object (Waypoint)
    }
  ],
  "travelMode": enum (RouteTravelMode),
  "routingPreference": enum (RoutingPreference),
  "polylineQuality": enum (PolylineQuality),
  "polylineEncoding": enum (PolylineEncoding),
  "departureTime": string,
  "arrivalTime": string,
  "computeAlternativeRoutes": boolean,
  "routeModifiers": {
    object (RouteModifiers)
  },
  "languageCode": string,
  "regionCode": string,
  "units": enum (Units),
  "optimizeWaypointOrder": boolean,
  "requestedReferenceRoutes": [
    enum (ReferenceRoute)
  ],
  "extraComputations": [
    enum (ExtraComputation)
  ],
  "trafficModel": enum (TrafficModel),
  "transitPreferences": {
    object (TransitPreferences)
  }
}
Champs
origin

object (Waypoint)

Obligatoire. Point de départ.

destination

object (Waypoint)

Obligatoire. Point de cheminement de destination.

intermediates[]

object (Waypoint)

Facultatif. Ensemble de points de cheminement le long de l'itinéraire (à l'exclusion des points de terminaison), pour s'y arrêter ou y passer. Vous pouvez ajouter jusqu'à 25 points de cheminement intermédiaires.

travelMode

enum (RouteTravelMode)

Facultatif. Spécifie le mode de transport.

routingPreference

enum (RoutingPreference)

Facultatif. Spécifie comment calculer l'itinéraire. Le serveur tente d'utiliser la préférence de routage sélectionnée pour calculer l'itinéraire. Si la préférence de routage entraîne une erreur ou une latence très longue, une erreur est renvoyée. Vous ne pouvez spécifier cette option que lorsque travelMode est défini sur DRIVE ou TWO_WHEELER. Sinon, la requête échoue.

polylineQuality

enum (PolylineQuality)

Facultatif. Spécifie votre préférence pour la qualité de la polyligne.

polylineEncoding

enum (PolylineEncoding)

Facultatif. Spécifie l'encodage préféré pour la polyligne.

departureTime

string (Timestamp format)

Facultatif. Heure de départ. Si vous ne définissez pas cette valeur, elle est définie par défaut sur l'heure à laquelle vous avez envoyé la demande. REMARQUE : Vous ne pouvez spécifier une departureTime dans le passé que lorsque RouteTravelMode est défini sur TRANSIT. Les trajets en transports en commun sont disponibles pour les sept derniers jours ou les 100 prochains jours.

Utilise la norme RFC 3339, où le résultat généré est toujours normalisé avec le suffixe Z et utilise 0, 3, 6 ou 9 chiffres décimaux. Les décalages autres que "Z" sont également acceptés. Exemples : "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

arrivalTime

string (Timestamp format)

Facultatif. Heure d'arrivée. REMARQUE : Ce champ est ignoré lorsque les requêtes spécifient un RouteTravelMode autre que TRANSIT. Vous pouvez spécifier une liste departureTime ou une liste arrivalTime, mais pas les deux. Les trajets en transports en commun sont disponibles pour les sept derniers jours ou les 100 prochains jours.

Utilise la norme RFC 3339, où le résultat généré est toujours normalisé avec le suffixe Z et utilise 0, 3, 6 ou 9 chiffres décimaux. Les décalages autres que "Z" sont également acceptés. Exemples : "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

computeAlternativeRoutes

boolean

Facultatif. Indique s'il faut calculer des itinéraires alternatifs en plus de l'itinéraire. Aucun itinéraire alternatif n'est renvoyé pour les requêtes comportant des points de cheminement intermédiaires.

routeModifiers

object (RouteModifiers)

Facultatif. Ensemble de conditions à remplir qui affectent le calcul des itinéraires.

languageCode

string

Facultatif. Le code de langue BCP-47, tel que "en-US" ou "sr-Latn". Pour en savoir plus, consultez Identifiant de langue Unicode. Pour obtenir la liste des langues disponibles, consultez Langues acceptées. Si vous ne fournissez pas cette valeur, la langue d'affichage est déduite de la localisation de la demande d'itinéraire.

regionCode

string

Facultatif. Code régional, spécifié sous la forme d'une valeur ccTLD (TLD pour top-level domain, domaine de premier niveau) à deux caractères. Pour en savoir plus, consultez Domaines de premier niveau de code pays.

units

enum (Units)

Facultatif. Spécifie les unités de mesure pour les champs d'affichage. Ces champs incluent le champ instruction dans NavigationInstruction. Cette valeur n'a aucune incidence sur les unités de mesure utilisées pour la distance et la durée de l'itinéraire, de la section et de l'étape. Si vous ne fournissez pas cette valeur, les unités d'affichage sont déduites de l'emplacement de la première origine.

optimizeWaypointOrder

boolean

Facultatif. Si la valeur est définie sur "true", le service tente de minimiser le coût global de l'itinéraire en réorganisant les points de chemin intermédiaires spécifiés. La requête échoue si l'un des points de cheminement intermédiaires est un point de cheminement via. Utilisez ComputeRoutesResponse.Routes.optimized_intermediate_waypoint_index pour trouver le nouvel ordre. Si ComputeRoutesResponseroutes.optimized_intermediate_waypoint_index n'est pas demandé dans l'en-tête X-Goog-FieldMask, la requête échoue. Si optimizeWaypointOrder est défini sur "false", ComputeRoutesResponse.optimized_intermediate_waypoint_index sera vide.

requestedReferenceRoutes[]

enum (ReferenceRoute)

Facultatif. Spécifie les itinéraires de référence à calculer dans la requête en plus de l'itinéraire par défaut. Une route de référence est une route dont l'objectif de calcul est différent de celui de la route par défaut. Par exemple, le calcul d'un itinéraire de référence FUEL_EFFICIENT tient compte de différents paramètres qui généreraient un itinéraire optimal en termes de consommation de carburant. Lorsque vous utilisez cette fonctionnalité, recherchez routeLabels sur les itinéraires obtenus.

extraComputations[]

enum (ExtraComputation)

Facultatif. Liste des calculs supplémentaires pouvant être utilisés pour traiter la demande. 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.

trafficModel

enum (TrafficModel)

Facultatif. Spécifie les hypothèses à utiliser pour calculer le temps de trajet selon le trafic. Ce paramètre influe sur la valeur renvoyée dans le champ de durée des Route et RouteLeg, qui contient le temps de trajet prévu en fonction des moyennes historiques. TrafficModel n'est disponible que pour les requêtes qui ont défini RoutingPreference sur TRAFFIC_AWARE_OPTIMAL et RouteTravelMode sur DRIVE. La valeur par défaut est BEST_GUESS si le trafic est demandé et que TrafficModel n'est pas spécifié.

transitPreferences

object (TransitPreferences)

Facultatif. Spécifie les préférences qui influencent l'itinéraire renvoyé pour les itinéraires TRANSIT. REMARQUE : Vous ne pouvez spécifier un transitPreferences que lorsque RouteTravelMode est défini sur TRANSIT.

Corps de la réponse

v2.computeRoutes le message de réponse.

Si la requête aboutit, le corps de la réponse contient des données qui ont la structure suivante :

Représentation JSON
{
  "routes": [
    {
      object (Route)
    }
  ],
  "fallbackInfo": {
    object (FallbackInfo)
  },
  "geocodingResults": {
    object (GeocodingResults)
  }
}
Champs
routes[]

object (Route)

Contient un tableau d'itinéraires calculés (jusqu'à trois) lorsque vous spécifiez compute_alternatives_routes, et ne contient qu'un seul itinéraire lorsque 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'aucun itinéraire n'a été trouvé.

fallbackInfo

object (FallbackInfo)

Dans certains cas, lorsque le serveur n'est pas en mesure de calculer les résultats de l'itinéraire avec toutes les préférences d'entrée, il peut revenir à 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.

geocodingResults

object (GeocodingResults)

Contient des informations sur la réponse de géocoding pour les points de cheminement spécifiés sous forme d'adresses.

PolylineQuality

Ensemble de valeurs qui spécifient la qualité de la polyligne.

Enums
POLYLINE_QUALITY_UNSPECIFIED Aucune préférence de qualité de polyligne n'a été 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 détriment de la taille de la réponse. Utilisez cette valeur lorsque vous avez besoin de plus de précision.
OVERVIEW Spécifie une polyligne de présentation, qui est composée d'un petit nombre de points. Utilisez cette valeur lorsque vous affichez un aperçu de l'itinéraire. Cette option présente une latence de requête inférieure à celle de l'option HIGH_QUALITY.

PolylineEncoding

Spécifie le type de polyligne à renvoyer.

Enums
POLYLINE_ENCODING_UNSPECIFIED Aucune préférence de type de polyligne n'a été 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 à l'aide du format LineString GeoJSON.

ReferenceRoute

Route de référence acceptée dans ComputeRoutesRequest.

Enums
REFERENCE_ROUTE_UNSPECIFIED Non utilisé. Les requêtes contenant cette valeur échouent.
FUEL_EFFICIENT Itinéraire économe en carburant.
SHORTER_DISTANCE

Itinéraire avec une distance de trajet plus courte. Cette fonctionnalité est expérimentale.

Pour les demandes DRIVE, cette fonctionnalité privilégie la distance la plus courte au confort de conduite. Par exemple, il peut préférer les routes locales aux autoroutes, emprunter des chemins de terre, traverser des parkings, etc. Cette fonctionnalité ne renvoie aucune manœuvre que Google Maps sait illégale.

Pour les requêtes BICYCLE et TWO_WHEELER, cette fonctionnalité renvoie des itinéraires semblables à ceux renvoyés lorsque vous ne spécifiez pas requestedReferenceRoutes.

Cette fonctionnalité n'est pas compatible avec les autres modes de transport, les points de cheminement intermédiaires ni optimizeWaypointOrder. Ces requêtes échoueront. Cependant, vous pouvez l'utiliser avec n'importe quel routingPreference.

ExtraComputation

Calculs supplémentaires à effectuer lors du traitement de la demande.

Enums
EXTRA_COMPUTATION_UNSPECIFIED Non utilisé. Les requêtes contenant cette valeur échoueront.
TOLLS Informations sur les péages pour le ou les itinéraires.
FUEL_CONSUMPTION Consommation de carburant estimée pour le ou les itinéraires.
TRAFFIC_ON_POLYLINE Polylignes tenant compte du trafic pour le ou les itinéraires.
HTML_FORMATTED_NAVIGATION_INSTRUCTIONS NavigationInstructions présenté sous la forme d'une chaîne de texte HTML mis en forme. Ce contenu est destiné à être lu tel quel. Il est uniquement destiné à l'affichage. N'analysez pas ce contenu de manière programmatique.
FLYOVER_INFO_ON_POLYLINE Informations sur les survols pour le ou les itinéraires. Le fieldmask routes.polyline_details.flyover_info doit être spécifié pour renvoyer ces informations. Pour le moment, ces données ne sont disponibles que pour certaines métropoles en Inde. Cette fonctionnalité est expérimentale. Le SKU et les frais sont susceptibles d'être modifiés.
NARROW_ROAD_INFO_ON_POLYLINE Informations sur les routes étroites pour le ou les itinéraires. Le fieldmask routes.polyline_details.narrow_road_info doit être spécifié pour renvoyer ces informations. Pour le moment, ces données ne sont disponibles que pour certaines métropoles en Inde. Cette fonctionnalité est expérimentale. Le SKU et les frais sont susceptibles d'être modifiés.

Itinéraire

Contient un itinéraire, qui se compose d'une série de segments de route connectés qui relient les points de départ, d'arrivée et de cheminement intermédiaires.

Représentation JSON
{
  "routeLabels": [
    enum (RouteLabel)
  ],
  "legs": [
    {
      object (RouteLeg)
    }
  ],
  "distanceMeters": integer,
  "duration": string,
  "staticDuration": string,
  "polyline": {
    object (Polyline)
  },
  "description": string,
  "warnings": [
    string
  ],
  "viewport": {
    object (Viewport)
  },
  "travelAdvisory": {
    object (RouteTravelAdvisory)
  },
  "optimizedIntermediateWaypointIndex": [
    integer
  ],
  "localizedValues": {
    object (RouteLocalizedValues)
  },
  "routeToken": string,
  "polylineDetails": {
    object (PolylineDetails)
  }
}
Champs
routeLabels[]

enum (RouteLabel)

Libellés pour Route qui permettent d'identifier des propriétés spécifiques de la route à comparer à d'autres.

legs[]

object (RouteLeg)

Ensemble de sections (segments de chemin entre les points de cheminement) qui composent l'itinéraire. Chaque étape correspond au trajet entre deux Waypoints non via. Par exemple, un itinéraire sans point de cheminement intermédiaire ne comporte qu'une seule étape. Un itinéraire qui inclut un point de cheminement intermédiaire non via comporte deux sections. Un itinéraire qui inclut un point de cheminement intermédiaire via comporte une section. L'ordre des étapes correspond à l'ordre des points de cheminement, de origin à intermediates, puis à destination.

distanceMeters

integer

Distance du trajet, en mètres.

duration

string (Duration format)

Durée nécessaire pour parcourir l'itinéraire. Si vous définissez routingPreference sur TRAFFIC_UNAWARE, cette valeur est identique à staticDuration. Si vous définissez routingPreference sur TRAFFIC_AWARE ou TRAFFIC_AWARE_OPTIMAL, cette valeur est calculée en tenant compte des conditions de circulation.

Durée en secondes avec neuf chiffres au maximum après la virgule et se terminant par "s". Exemple : "3.5s"

staticDuration

string (Duration format)

Durée du trajet sur l'itinéraire sans tenir compte des conditions de circulation.

Durée en secondes avec neuf chiffres au maximum après la virgule et se terminant par "s". Exemple : "3.5s"

polyline

object (Polyline)

Polyligne de l'itinéraire global. Cette polyligne est la polyligne combinée de tous les legs.

description

string

Description de l'itinéraire.

warnings[]

string

Tableau d'avertissements à afficher lors de l'affichage de l'itinéraire.

viewport

object (Viewport)

Cadre de délimitation de la fenêtre d'affichage de la polyligne.

travelAdvisory

object (RouteTravelAdvisory)

Informations supplémentaires sur l'itinéraire.

optimizedIntermediateWaypointIndex[]

integer

Si vous définissez optimizeWaypointOrder sur "true", ce champ contient l'ordre optimisé des points de cheminement intermédiaires. Sinon, ce champ est vide. Par exemple, si vous saisissez "Origine : Los Angeles ; Points de cheminement intermédiaires : Dallas, Bangor, Phoenix ; Destination : New York", et que l'ordre optimisé des points de cheminement intermédiaires est "Phoenix, Dallas, Bangor", ce champ contient les valeurs [2, 0, 1]. L'index commence par 0 pour le premier point de chemin intermédiaire fourni dans l'entrée.

localizedValues

object (RouteLocalizedValues)

Représentations textuelles des propriétés de Route.

routeToken

string

Jeton opaque pouvant être transmis au SDK Navigation pour reconstruire l'itinéraire pendant la navigation et, en cas de changement d'itinéraire, respecter l'intention initiale lors de la création de l'itinéraire. Traitez ce jeton comme un blob opaque. Ne comparez pas sa valeur entre les requêtes, car elle peut changer même si le service renvoie exactement le même itinéraire.

REMARQUE : Route.route_token n'est disponible que pour les requêtes pour lesquelles ComputeRoutesRequest.routing_preference est défini sur TRAFFIC_AWARE ou TRAFFIC_AWARE_OPTIMAL. Route.route_token n'est pas compatible avec les requêtes qui comportent des points de cheminement "Via".

polylineDetails

object (PolylineDetails)

Contient des informations sur les détails le long de la polyligne.

RouteLabel

Libellés pour Route qui permettent d'identifier des propriétés spécifiques de la route à comparer à d'autres.

Enums
ROUTE_LABEL_UNSPECIFIED Par défaut : non utilisé.
DEFAULT_ROUTE Il s'agit de l'itinéraire "meilleur" par défaut renvoyé pour le calcul de l'itinéraire.
DEFAULT_ROUTE_ALTERNATE Alternative à l'itinéraire "meilleur" par défaut. Les itinéraires de ce type sont renvoyés lorsque computeAlternativeRoutes est spécifié.
FUEL_EFFICIENT Itinéraire économe en carburant. Les itinéraires associés à cette valeur sont considérés comme optimisés pour les paramètres Eco, tels que la consommation de carburant.
SHORTER_DISTANCE Itinéraire avec la distance de trajet la plus courte. Cette fonctionnalité est expérimentale.

RouteLeg

Contient un segment entre des points de cheminement non via.

Représentation JSON
{
  "distanceMeters": integer,
  "duration": string,
  "staticDuration": string,
  "polyline": {
    object (Polyline)
  },
  "startLocation": {
    object (Location)
  },
  "endLocation": {
    object (Location)
  },
  "steps": [
    {
      object (RouteLegStep)
    }
  ],
  "travelAdvisory": {
    object (RouteLegTravelAdvisory)
  },
  "localizedValues": {
    object (RouteLegLocalizedValues)
  },
  "stepsOverview": {
    object (StepsOverview)
  }
}
Champs
distanceMeters

integer

Distance parcourue pour la section de l'itinéraire, en mètres.

duration

string (Duration format)

Durée nécessaire pour parcourir la section. Si route_preference est défini sur TRAFFIC_UNAWARE, cette valeur est identique à staticDuration. Si route_preference est défini sur TRAFFIC_AWARE ou TRAFFIC_AWARE_OPTIMAL, cette valeur est calculée en tenant compte des conditions de circulation.

Durée en secondes avec neuf chiffres au maximum après la virgule et se terminant par "s". Exemple : "3.5s"

staticDuration

string (Duration format)

Durée du trajet dans la section, calculée sans tenir compte des conditions de circulation.

Durée en secondes avec neuf chiffres au maximum après la virgule et se terminant par "s". Exemple : "3.5s"

polyline

object (Polyline)

Polyligne globale pour cette étape, qui inclut la polyligne de chaque step.

startLocation

object (Location)

Point de départ de cette section. Cet emplacement peut être différent de celui indiqué dans origin. Par exemple, lorsque le origin fourni n'est pas à proximité d'une route, il s'agit d'un point sur la route.

endLocation

object (Location)

Point d'arrivée de cette section. Cet emplacement peut être différent de celui indiqué dans destination. Par exemple, lorsque le destination fourni n'est pas à proximité d'une route, il s'agit d'un point sur la route.

steps[]

object (RouteLegStep)

Tableau d'étapes indiquant les segments de cette étape. Chaque étape représente une instruction de navigation.

travelAdvisory

object (RouteLegTravelAdvisory)

Contient les informations supplémentaires dont l'utilisateur doit être informé, telles que les éventuelles restrictions de zone de trafic, sur une étape de l'itinéraire.

localizedValues

object (RouteLegLocalizedValues)

Représentations textuelles des propriétés de RouteLeg.

stepsOverview

object (StepsOverview)

Informations générales sur les étapes de cette RouteLeg. Ce champ n'est renseigné que pour les itinéraires en transports en commun.

Polyline

Encapsule une polyligne encodée.

Représentation JSON
{

  // Union field polyline_type can be only one of the following:
  "encodedPolyline": string,
  "geoJsonLinestring": {
    object
  }
  // End of list of possible types for union field polyline_type.
}
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

string

Encodage de la chaîne de la polyligne à l'aide de l'algorithme d'encodage de polyligne

geoJsonLinestring

object (Struct format)

Spécifie une polyligne à l'aide du format LineString GeoJSON.

RouteLegStep

Contient un segment d'un RouteLeg. Une étape correspond à une seule instruction de navigation. Les étapes composent les tronçons d'un itinéraire.

Représentation JSON
{
  "distanceMeters": integer,
  "staticDuration": string,
  "polyline": {
    object (Polyline)
  },
  "startLocation": {
    object (Location)
  },
  "endLocation": {
    object (Location)
  },
  "navigationInstruction": {
    object (NavigationInstruction)
  },
  "travelAdvisory": {
    object (RouteLegStepTravelAdvisory)
  },
  "localizedValues": {
    object (RouteLegStepLocalizedValues)
  },
  "transitDetails": {
    object (RouteLegStepTransitDetails)
  },
  "travelMode": enum (RouteTravelMode)
}
Champs
distanceMeters

integer

Distance parcourue lors de cette étape, en mètres. Dans certains cas, ce champ peut ne pas avoir de valeur.

staticDuration

string (Duration format)

Durée du trajet à cette étape 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 et se terminant par "s". Exemple : "3.5s"

polyline

object (Polyline)

Polyligne associée à cette étape.

startLocation

object (Location)

Point de départ de cette étape.

endLocation

object (Location)

Point d'arrivée de cette étape.

navigationInstruction

object (NavigationInstruction)

des instructions de navigation ;

travelAdvisory

object (RouteLegStepTravelAdvisory)

Contient les informations supplémentaires dont l'utilisateur doit être informé, telles que les éventuelles restrictions de zone de trafic, pour une étape du trajet.

localizedValues

object (RouteLegStepLocalizedValues)

Représentations textuelles des propriétés de RouteLegStep.

transitDetails

object (RouteLegStepTransitDetails)

Informations concernant cette étape si le mode de déplacement est TRANSIT.

travelMode

enum (RouteTravelMode)

Mode de déplacement utilisé pour cette étape.

Maneuver

Ensemble de valeurs qui spécifient l'action de navigation à effectuer pour l'étape en cours (par exemple, tourner à gauche, fusionner ou tout droit).

Enums
MANEUVER_UNSPECIFIED Non utilisé.
TURN_SLIGHT_LEFT Tournez légèrement vers la gauche.
TURN_SHARP_LEFT Tournez brusquement à gauche.
UTURN_LEFT Faites demi-tour à gauche.
TURN_LEFT Tournez à gauche.
TURN_SLIGHT_RIGHT Tournez légèrement vers la droite.
TURN_SHARP_RIGHT Tournez brusquement à droite.
UTURN_RIGHT Faites demi-tour vers la droite.
TURN_RIGHT Tournez à droite.
STRAIGHT Allez tout droit.
RAMP_LEFT Prenez la bretelle de gauche.
RAMP_RIGHT Prenez la bretelle de droite.
MERGE Se rabattre sur la voie de circulation.
FORK_LEFT Prenez la fourche de gauche.
FORK_RIGHT Prenez la fourche de droite.
FERRY Prenez le ferry.
FERRY_TRAIN Prenez le train qui mène au ferry.
ROUNDABOUT_LEFT Au rond-point, tournez à gauche.
ROUNDABOUT_RIGHT Au rond-point, tournez à droite.
DEPART Manœuvre initiale.
NAME_CHANGE Utilisé pour indiquer un changement de nom de rue.

RouteLegStepTravelAdvisory

Contient les informations supplémentaires dont l'utilisateur doit être informé, telles que les éventuelles restrictions de zone de trafic sur une étape du trajet.

Représentation JSON
{
  "speedReadingIntervals": [
    {
      object (SpeedReadingInterval)
    }
  ]
}
Champs
speedReadingIntervals[]

object (SpeedReadingInterval)

REMARQUE : Ce champ n'est pas renseigné pour le moment.

RouteLegStepLocalizedValues

Représentations textuelles de certaines propriétés.

Représentation JSON
{
  "distance": {
    object (LocalizedText)
  },
  "staticDuration": {
    object (LocalizedText)
  }
}
Champs
distance

object (LocalizedText)

Distance de voyage représentée sous forme de texte.

staticDuration

object (LocalizedText)

Durée sans tenir compte des conditions de trafic, représentée sous forme de texte.

RouteLegStepTransitDetails

Informations supplémentaires pour RouteLegStep concernant les routes TRANSIT.

Représentation JSON
{
  "stopDetails": {
    object (TransitStopDetails)
  },
  "localizedValues": {
    object (TransitDetailsLocalizedValues)
  },
  "headsign": string,
  "headway": string,
  "transitLine": {
    object (TransitLine)
  },
  "stopCount": integer,
  "tripShortText": string
}
Champs
stopDetails

object (TransitStopDetails)

Informations sur les arrêts d'arrivée et de départ de l'étape.

localizedValues

object (TransitDetailsLocalizedValues)

Représentations textuelles des propriétés de RouteLegStepTransitDetails.

headsign

string

Spécifie le sens du trajet sur cette ligne tel qu'indiqué sur le véhicule ou à l'arrêt de départ. Il s'agit souvent du terminus.

headway

string (Duration format)

Indique le temps estimé sous la forme d'une durée entre les départs depuis le même arrêt à l'heure actuelle. Par exemple, si la valeur de headway_seconds est de 600, vous attendrez environ 10 minutes si vous manquez votre bus.

Durée en secondes avec neuf chiffres au maximum après la virgule et se terminant par "s". Exemple : "3.5s"

transitLine

object (TransitLine)

Informations sur la ligne de transports en commun utilisée à cette étape.

stopCount

integer

Nombre d'arrêts entre l'arrêt de départ et l'arrêt d'arrivée. Ce nombre inclut l'arrêt d'arrivée, mais pas celui de départ. Par exemple, si votre itinéraire consiste à partir de l'arrêt A pour arriver à l'arrêt D en passant par les arrêts B et C,

stopCount

renvoie 3.

tripShortText

string

Texte qui apparaît sur les tableaux d'horaires et les panneaux d'affichage afin de permettre aux passagers d'identifier leur trajet. Le texte doit identifier un trajet unique au cours d'une journée de service. Par exemple, "538" est le tripShortText du train Amtrak qui quitte San Jose, en Californie, à 15h10 en semaine pour Sacramento, en Californie.

TransitStopDetails

Informations sur les arrêts de transport en commun pour le RouteLegStep.

Représentation JSON
{
  "arrivalStop": {
    object (TransitStop)
  },
  "arrivalTime": string,
  "departureStop": {
    object (TransitStop)
  },
  "departureTime": string
}
Champs
arrivalStop

object (TransitStop)

Informations sur l'arrêt d'arrivée de l'étape.

arrivalTime

string (Timestamp format)

Heure d'arrivée estimée pour l'étape.

Utilise la norme RFC 3339, où le résultat généré est toujours normalisé avec le suffixe Z et utilise 0, 3, 6 ou 9 chiffres décimaux. Les décalages autres que "Z" sont également acceptés. Exemples : "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

departureStop

object (TransitStop)

Informations sur l'arrêt de départ de l'étape.

departureTime

string (Timestamp format)

Heure de départ estimée pour l'étape.

Utilise la norme RFC 3339, où le résultat généré est toujours normalisé avec le suffixe Z et utilise 0, 3, 6 ou 9 chiffres décimaux. Les décalages autres que "Z" sont également acceptés. Exemples : "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

TransitStop

Informations sur un arrêt de transport en commun.

Représentation JSON
{
  "name": string,
  "location": {
    object (Location)
  }
}
Champs
name

string

Nom de l'arrêt de transports en commun.

location

object (Location)

Emplacement de l'arrêt exprimé en coordonnées de latitude/longitude.

TransitDetailsLocalizedValues

Descriptions localisées des valeurs pour RouteTransitDetails.

Représentation JSON
{
  "arrivalTime": {
    object (LocalizedTime)
  },
  "departureTime": {
    object (LocalizedTime)
  }
}
Champs
arrivalTime

object (LocalizedTime)

Heure dans sa représentation textuelle formatée avec un fuseau horaire correspondant.

departureTime

object (LocalizedTime)

Heure dans sa représentation textuelle formatée avec un fuseau horaire correspondant.

LocalizedTime

Description localisée de l'heure.

Représentation JSON
{
  "time": {
    object (LocalizedText)
  },
  "timeZone": string
}
Champs
time

object (LocalizedText)

Heure spécifiée sous forme de chaîne dans un fuseau horaire donné.

timeZone

string

Contient le fuseau horaire. La valeur correspond au nom du fuseau horaire, tel que défini dans la base de données des fuseaux horaires de l'IANA (par exemple, "America/New_York").

TransitLine

Contient des informations sur la ligne de transports en commun utilisée à cette étape.

Représentation JSON
{
  "agencies": [
    {
      object (TransitAgency)
    }
  ],
  "name": string,
  "uri": string,
  "color": string,
  "iconUri": string,
  "nameShort": string,
  "textColor": string,
  "vehicle": {
    object (TransitVehicle)
  }
}
Champs
agencies[]

object (TransitAgency)

Agence ou agences de transports en commun qui exploitent cette ligne.

name

string

Nom complet de la ligne de transports en commun (par exemple, "8th Avenue Local").

uri

string

URI de cette ligne de transports en commun fourni par l'agence de transports en commun.

color

string

Couleur couramment utilisée pour désigner cette ligne. Représenté en hexadécimal.

iconUri

string

URI de l'icône associée à cette ligne.

nameShort

string

Nom court de cette ligne de transports en commun. Il s'agit généralement d'un numéro de ligne tel que "M7" ou "355".

textColor

string

Couleur couramment utilisée dans le texte des panneaux de signalisation pour cette ligne. Représenté en hexadécimal.

vehicle

object (TransitVehicle)

Type de véhicule utilisé sur cette ligne de transports en commun.

TransitAgency

Agence de transports en commun qui exploite une ligne de transports en commun.

Représentation JSON
{
  "name": string,
  "phoneNumber": string,
  "uri": string
}
Champs
name

string

Nom de cette agence de transports en commun.

phoneNumber

string

Numéro de téléphone de l'agence de transports en commun, mis en forme en fonction des paramètres régionaux.

uri

string

URI de l'agence de transports en commun.

TransitVehicle

Informations sur un véhicule utilisé dans les itinéraires de transports en commun.

Représentation JSON
{
  "name": {
    object (LocalizedText)
  },
  "type": enum (TransitVehicleType),
  "iconUri": string,
  "localIconUri": string
}
Champs
name

object (LocalizedText)

Nom de ce véhicule, avec une majuscule.

type

enum (TransitVehicleType)

Type de véhicule utilisé.

iconUri

string

URI d'une icône associée à ce type de véhicule.

localIconUri

string

URI de l'icône associée à ce type de véhicule, d'après la signalétique locale pour les transports en commun.

TransitVehicleType

Type de véhicules pour les itinéraires de transports en commun.

Enums
TRANSIT_VEHICLE_TYPE_UNSPECIFIED Non utilisé.
BUS Bus.
CABLE_CAR Véhicule tracté par un câble, généralement en surface. Les téléphériques peuvent être de type GONDOLA_LIFT.
COMMUTER_TRAIN Train de banlieue.
FERRY Ferry.
FUNICULAR Véhicule tracté par un câble le long d'une pente prononcée. Un funiculaire se compose généralement de deux rames, chacune agissant comme contrepoids de l'autre.
GONDOLA_LIFT Téléphérique.
HEAVY_RAIL Métro.
HIGH_SPEED_TRAIN Train à grande vitesse.
INTERCITY_BUS Bus interurbain.
LONG_DISTANCE_TRAIN Train longue distance.
METRO_RAIL Métro léger.
MONORAIL Monorail.
OTHER Tous les autres véhicules.
RAIL Train.
SHARE_TAXI Type de bus pouvant faire monter et descendre des passagers n'importe où sur la ligne.
SUBWAY Métro léger souterrain.
TRAM Métro léger en surface.
TROLLEYBUS Trolleybus.

RouteLegTravelAdvisory

Contient les informations supplémentaires dont l'utilisateur doit être informé sur une étape du trajet, telles que les éventuelles restrictions de zone de circulation.

Représentation JSON
{
  "tollInfo": {
    object (TollInfo)
  },
  "speedReadingIntervals": [
    {
      object (SpeedReadingInterval)
    }
  ]
}
Champs
tollInfo

object (TollInfo)

Contient 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 la RouteLeg. Si ce champ est défini, mais que le sous-champ "estimatedPrice" n'est pas renseigné, nous partons du principe que la route comporte 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 la RouteLeg.

speedReadingIntervals[]

object (SpeedReadingInterval)

Intervalles de lecture de la vitesse indiquant la densité du trafic. Applicable en cas de préférences de routage TRAFFIC_AWARE et TRAFFIC_AWARE_OPTIMAL. Les intervalles couvrent l'intégralité de la polyligne de RouteLeg sans se chevaucher. Le point de départ d'un intervalle spécifié est identique au point d'arrivée de l'intervalle précédent.

Exemple :

polyline: A ---- B ---- C ---- D ---- E ---- F ---- G
speedReadingIntervals: [A,C), [C,D), [D,G).

RouteLegLocalizedValues

Représentations textuelles de certaines propriétés.

Représentation JSON
{
  "distance": {
    object (LocalizedText)
  },
  "duration": {
    object (LocalizedText)
  },
  "staticDuration": {
    object (LocalizedText)
  }
}
Champs
distance

object (LocalizedText)

Distance de voyage représentée sous forme de texte.

duration

object (LocalizedText)

Durée, représentée sous forme de texte et localisée selon la région de la requête. Tient compte des conditions de circulation. Remarque : Si vous n'avez pas demandé d'informations sur le trafic, cette valeur est identique à celle de staticDuration.

staticDuration

object (LocalizedText)

Durée sans tenir compte des conditions de trafic, représentée sous forme de texte.

StepsOverview

Fournit des informations générales sur une liste de RouteLegStep.

Représentation JSON
{
  "multiModalSegments": [
    {
      object (MultiModalSegment)
    }
  ]
}
Champs
multiModalSegments[]

object (MultiModalSegment)

Informations résumées sur les différents segments multimodaux de RouteLeg.steps. Ce champ n'est pas renseigné si RouteLeg ne contient aucun segment multimodal dans les étapes.

MultiModalSegment

Fournit des informations résumées sur différents segments multimodaux de RouteLeg.steps. Un segment multimodal est défini comme un ou plusieurs RouteLegStep contigus ayant le même RouteTravelMode. Ce champ n'est pas renseigné si RouteLeg ne contient aucun segment multimodal dans les étapes.

Représentation JSON
{
  "navigationInstruction": {
    object (NavigationInstruction)
  },
  "travelMode": enum (RouteTravelMode),
  "stepStartIndex": integer,
  "stepEndIndex": integer
}
Champs
navigationInstruction

object (NavigationInstruction)

NavigationInstruction pour le segment multimodal.

travelMode

enum (RouteTravelMode)

Mode de transport du segment multimodal.

stepStartIndex

integer

Index RouteLegStep correspondant au début d'un segment multimodal.

stepEndIndex

integer

Index RouteLegStep correspondant à la fin d'un segment multimodal.

Fenêtre d'affichage

Fenêtre d'affichage de latitude et de longitude, représentée par deux points low et high diagonalement opposés. Une fenêtre d'affichage est considérée comme une région fermée, c'est-à-dire qu'elle inclut sa limite. 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. Voici quelques exemples :

  • Si low = high, la fenêtre d'affichage se compose de ce seul point.

  • 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 et high.longitude = 180 degrés, la fenêtre d'affichage inclut toutes les longitudes.

  • Si low.longitude = 180 degrés et high.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 boîte représentée ne peut pas être vide (comme indiqué dans les définitions ci-dessus). Un message d'erreur s'affichera si la fenêtre d'affichage est vide.

Par exemple, cette fenêtre d'affichage englobe entièrement la ville de New York :

{ "low": { "latitude": 40.477398, "longitude": -74.259087 }, "high": { "latitude": 40.91618, "longitude": -73.70018 } }

Représentation JSON
{
  "low": {
    object (LatLng)
  },
  "high": {
    object (LatLng)
  }
}
Champs
low

object (LatLng)

Obligatoire. Point bas de la fenêtre d'affichage.

high

object (LatLng)

Obligatoire. Point haut de la fenêtre d'affichage.

RouteLocalizedValues

Représentations textuelles de certaines propriétés.

Représentation JSON
{
  "distance": {
    object (LocalizedText)
  },
  "duration": {
    object (LocalizedText)
  },
  "staticDuration": {
    object (LocalizedText)
  },
  "transitFare": {
    object (LocalizedText)
  }
}
Champs
distance

object (LocalizedText)

Distance de voyage représentée sous forme de texte.

duration

object (LocalizedText)

Durée, représentée sous forme de texte et localisée selon la région de la requête. Tient compte des conditions de circulation. Remarque : Si vous n'avez pas demandé d'informations sur le trafic, cette valeur est identique à celle de staticDuration.

staticDuration

object (LocalizedText)

Durée sans tenir compte des conditions de trafic, représentée sous forme de texte.

transitFare

object (LocalizedText)

Tarif du transport en commun représenté sous forme de texte.

PolylineDetails

Détails correspondant à un index ou à un segment contigu d'une polyligne. Étant donné une polyligne avec des points P_0, P_1, ... , P_N (index basé sur zéro), PolylineDetails définit un intervalle et les métadonnées associées.

Représentation JSON
{
  "flyoverInfo": [
    {
      object (FlyoverInfo)
    }
  ],
  "narrowRoadInfo": [
    {
      object (NarrowRoadInfo)
    }
  ]
}
Champs
flyoverInfo[]

object (FlyoverInfo)

Détails du survol le long de la polyligne.

narrowRoadInfo[]

object (NarrowRoadInfo)

Détails sur les routes étroites le long de la polyligne.

FlyoverInfo

Encapsule les informations sur les survols le long de la polyligne.

Représentation JSON
{
  "flyoverPresence": enum (RoadFeatureState),
  "polylinePointIndex": {
    object (PolylinePointIndex)
  }
}
Champs
flyoverPresence

enum (RoadFeatureState)

Uniquement en sortie. Indique si un survol existe pour une section donnée de la polyligne.

polylinePointIndex

object (PolylinePointIndex)

Emplacement des informations sur le survol le long de la polyligne.

RoadFeatureState

Encapsule les états des caractéristiques des routes le long d'une section de polyligne.

Enums
ROAD_FEATURE_STATE_UNSPECIFIED L'état de la route n'a pas été calculé (valeur par défaut).
EXISTS La route existe.
DOES_NOT_EXIST La fonctionnalité de route n'existe pas.

PolylinePointIndex

Encapsule les index de début et de fin pour un détail de polyligne. Pour les cas où les données correspondent à un seul point, startIndex et endIndex seront égaux.

Représentation JSON
{
  "startIndex": integer,
  "endIndex": integer
}
Champs
startIndex

integer

Index de début de ce détail dans la polyligne.

endIndex

integer

Index de fin de ce détail dans la polyligne.

NarrowRoadInfo

Encapsule des informations sur les routes étroites le long de la polyligne.

Représentation JSON
{
  "narrowRoadPresence": enum (RoadFeatureState),
  "polylinePointIndex": {
    object (PolylinePointIndex)
  }
}
Champs
narrowRoadPresence

enum (RoadFeatureState)

Uniquement en sortie. Indique si une route étroite existe pour une section donnée de la polyligne.

polylinePointIndex

object (PolylinePointIndex)

Emplacement des informations sur les routes étroites le long de la polyligne.

GeocodingResults

Contient GeocodedWaypoints pour le point de départ, la destination et les points de cheminement intermédiaires. Renseigné uniquement pour les points de repère d'adresse.

Représentation JSON
{
  "origin": {
    object (GeocodedWaypoint)
  },
  "destination": {
    object (GeocodedWaypoint)
  },
  "intermediates": [
    {
      object (GeocodedWaypoint)
    }
  ]
}
Champs
origin

object (GeocodedWaypoint)

Point de cheminement géocodé d'origine.

destination

object (GeocodedWaypoint)

Point de cheminement géocodé de la destination.

intermediates[]

object (GeocodedWaypoint)

Liste des points de cheminement géocodés intermédiaires, chacun contenant un champ d'index qui correspond à la position du point de cheminement (basée sur zéro) dans l'ordre dans lequel ils ont été spécifiés dans la requête.

GeocodedWaypoint

Informations sur les lieux utilisés comme points de repère. Renseigné uniquement pour les points de repère d'adresse. Inclut des informations sur les résultats du géocodage afin de déterminer à quoi l'adresse a été géocodée.

Représentation JSON
{
  "geocoderStatus": {
    object (Status)
  },
  "type": [
    string
  ],
  "partialMatch": boolean,
  "placeId": string,
  "intermediateWaypointRequestIndex": integer
}
Champs
geocoderStatus

object (Status)

Indique le code d'état résultant de l'opération de géocodage.

type[]

string

Type(s) du résultat, sous la forme d'une ou plusieurs balises de type. Types acceptés : types d'adresses et de composants d'adresse.

partialMatch

boolean

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

string

ID du lieu pour ce résultat.

intermediateWaypointRequestIndex

integer

Index du point de chemin intermédiaire correspondant dans la requête. N'est renseigné que si le point de cheminement correspondant est un point de cheminement intermédiaire.