Method: computeRoutes

Renvoie l'itinéraire principal ainsi que d'autres itinéraires facultatifs, en fonction d'un ensemble de points de cheminement terminaux 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 de l'en-tête HTTP/gRPC X-Goog-FieldMask (voir les paramètres et en-têtes d'URL disponibles). La valeur est une liste de chemins d'accès de champs séparés par une virgule. Consultez cette 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 inspection manuelle): X-Goog-FieldMask: *
  • Masque de champ pour la durée, la distance et 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 d'utiliser le masque de champ de réponse avec caractère générique (*) ou de spécifier le masque de champ au niveau supérieur (routes), pour les raisons suivantes:

  • En sélectionnant uniquement les champs dont vous avez besoin, vous permettez à notre serveur d'économiser des cycles de calcul, ce qui nous permet de vous renvoyer le résultat avec une latence plus faible.
  • En ne sélectionnant que les champs dont vous avez besoin dans votre tâche de production, vous vous assurez de performances de latence stables. Nous pourrons ajouter d'autres champs de réponse à l'avenir, et ces nouveaux champs pourraient nécessiter un temps de calcul supplémentaire. Si vous sélectionnez tous les champs ou tous les champs au niveau supérieur, vous risquez de constater une dégradation des performances, car tous les nouveaux champs que nous ajoutons seront 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, ce qui augmentera le débit réseau.

Requête HTTP

POST https://routespreferred.googleapis.com/v1alpha: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,
  "computeAlternativeRoutes": boolean,
  "routeModifiers": {
    object (RouteModifiers)
  },
  "languageCode": string,
  "units": enum (Units),
  "optimizeWaypointOrder": boolean
}
Champs
origin

object (Waypoint)

Obligatoire. Point de cheminement de départ.

destination

object (Waypoint)

Obligatoire. Point de cheminement de destination.

intermediates[]

object (Waypoint)

Facultatif. Ensemble de points de cheminement sur l'itinéraire (à l'exclusion des terminaux) permettant de s'arrêter à ou de 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. Indique comment calculer la route. 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 génère une erreur ou une latence plus 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. Indique votre préférence concernant la qualité de la polyligne.

polylineEncoding

enum (PolylineEncoding)

Facultatif. Spécifie l'encodage à privilégier pour la polyligne.

departureTime

string (Timestamp format)

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 qui s'est déjà produite, la requête échoue.

Horodatage au format RFC3339 UTC "Zulu", avec une résolution de l'ordre de la nanoseconde et jusqu'à neuf chiffres décimaux. Exemples : "2014-10-02T15:01:23Z" et "2014-10-02T15:01:23.045123456Z".

computeAlternativeRoutes

boolean

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

routeModifiers

object (RouteModifiers)

Facultatif. Ensemble de conditions à remplir qui affectent la façon dont les itinéraires sont calculés.

languageCode

string

Facultatif. Le code de langue BCP-47, tel que "en-US" ou "sr-Latn". Pour en savoir plus, consultez la section Identifiant de paramètres régionaux Unicode. Consultez la page Langues acceptées pour obtenir la liste des langues disponibles. Si vous ne fournissez pas cette valeur, la langue d'affichage est déduite de l'emplacement de la requête d'itinéraire.

units

enum (Units)

Facultatif. Spécifie les unités de mesure des champs d'affichage. Cela inclut le champ instruction dans NavigationInstruction. Cette valeur n'a aucune incidence sur les unités de mesure utilisées pour l'itinéraire, l'étape, la distance et la durée des pas. Si vous ne fournissez pas cette valeur, les unités d'affichage sont déduites de l'emplacement de la requête.

optimizeWaypointOrder

boolean

Si optimizeWaypointOrder est défini sur "true", une tentative est effectuée pour réorganiser les points de repère intermédiaires spécifiés afin de minimiser le coût global du parcours. Si l'un des points de cheminement intermédiaires est un point de cheminement via, la requête échoue. Utilisez ComputeRoutesResponse.Routes.optimized_intermediate_waypoint_index pour trouver le nouvel ordre. Si routes.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 est vide.

Corps de la réponse

Si la requête aboutit, le corps de la réponse contient une instance de ComputeRoutesResponse.

Champs d'application des autorisations

Requiert le niveau d'accès OAuth suivant :

  • https://www.googleapis.com/auth/maps-platform.routespreferred

Pour en savoir plus, consultez la Présentation d'OAuth 2.0.