Method: computeCustomRoutes

Calcule le meilleur itinéraire pour cet objectif à partir d'un ensemble de points de cheminement terminaux et intermédiaires, et d'un objectif d'itinéraire. Affiche également l'itinéraire le plus rapide et l'itinéraire le plus court en tant qu'itinéraires de référence.

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 de l'en-tête HTTP/gRPC X-Goog-FieldMask (consultez 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 création 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 des distances de l'itinéraire, des durées, des jetons et des informations sur les péages: X-Goog-FieldMask: routes.route.distanceMeters,routes.route.duration,routes.token,routes.route.travelAdvisory.tollInfo

Google déconseille l'utilisation du masque de champ de réponse utilisant le caractère générique (*) ou la spécification de ce masque de champ au niveau supérieur (routes) pour les raisons suivantes:

  • Sélectionner uniquement les champs dont vous avez besoin permet à notre serveur d'économiser des cycles de calcul et de vous renvoyer le résultat avec une latence plus faible.
  • Sélectionner uniquement les champs dont vous avez besoin pour votre job de production garantit des performances de latence stables. Nous pourrions ajouter d'autres champs de réponse à l'avenir, et ces nouveaux champs pourraient nécessiter du 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 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, vous réduirez la taille des réponses et, par conséquent, le débit du réseau.

Requête HTTP

POST https://routespreferred.googleapis.com/v1:computeCustomRoutes

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,
  "routeModifiers": {
    object (RouteModifiers)
  },
  "routeObjective": {
    object (RouteObjective)
  },
  "languageCode": string,
  "units": enum (Units)
}
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 à proximité. Vous pouvez ajouter jusqu'à 25 points de cheminement intermédiaires.

travelMode

enum (RouteTravelMode)

Facultatif. Spécifie le mode de transport. Seul DRIVE est compatible à l'heure actuelle.

routingPreference

enum (RoutingPreference)

Facultatif. Spécifie comment calculer la route. Le serveur tente d'utiliser la préférence de routage sélectionnée pour calculer la route. Si la préférence de routage entraîne une erreur ou une latence extra longue, une erreur est renvoyée. À l'avenir, nous pourrons mettre en place un mécanisme de remplacement permettant d'utiliser une option différente lorsque l'option préférée ne donnera pas de résultat valide. Vous ne pouvez spécifier cette option que si travelMode est défini sur DRIVE ou TWO_WHEELER. Sinon, la requête échoue.

polylineQuality

enum (PolylineQuality)

Facultatif. Indique 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 effectué la requête. Si vous définissez cette valeur sur une heure déjà passée, la requête échoue.

Code temporel au format RFC3339 UTC "Zulu", avec une résolution à la nanoseconde et jusqu'à neuf chiffres fractionnaires. Exemples: "2014-10-02T15:01:23Z" et "2014-10-02T15:01:23.045123456Z".

routeModifiers

object (RouteModifiers)

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

routeObjective

object (RouteObjective)

Obligatoire. Objectif d'itinéraire à optimiser.

languageCode

string

Facultatif. Le code de langue BCP-47, tel que "en-US" ou "sr-Latn". Pour en savoir plus, consultez la page http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. Consultez la page Langues acceptées pour obtenir la liste des langues acceptées. 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, le trajet, la distance de pas et la durée. Si vous ne fournissez pas cette valeur, les unités d'affichage sont déduites de l'emplacement de la requête.

Corps de la réponse

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

Niveaux d'accès 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.