Calculer les frais de péage pour un itinéraire

Développeurs de l'Espace économique européen (EEE)

Lorsque vous calculez un itinéraire ou une matrice d'itinéraires, vous pouvez prendre en compte les éventuels péages sur l'itinéraire. Pour certaines villes, vous pouvez calculer le montant estimé des péages pour un itinéraire dans la devise appropriée.

Pour obtenir les péages d'une matrice de routes, consultez Calculer les péages pour une matrice de routes.

Pour obtenir la liste des péages acceptés, consultez la référence TollPass.

Calcul des péages

L'API Routes calcule les frais de péage estimés, en tenant compte des éventuelles remises ou abonnements télépéage disponibles pour le conducteur ou le véhicule, ainsi que des méthodes de paiement les plus pratiques. Si aucun prix de péage n'est disponible pour un itinéraire donné, l'API Routes indique l'existence d'un péage dont le montant est inconnu.

Pour obtenir des estimations précises des péages, veillez à inclure les informations suivantes dans votre demande :

  • Type d'émissions du véhicule utilisé pour l'itinéraire (VehicleEmissionType). Si aucun type d'émissions n'est fourni, le péage pour un véhicule à essence est renvoyé.
  • Tous les badges de péage dont disposent le véhicule et le conducteur à l'aide de (TollPass). L'API utilise les badges de péage pour déterminer les frais de péage exacts et renvoie les prix en espèces lorsque les badges de péage de la requête ne sont pas locaux à l'itinéraire.
  • Spécifiez "Éviter les péages", si nécessaire. Si vous souhaitez éviter les routes à péage dans la mesure du possible, ajoutez avoidTolls en tant que RouteModifier.

Calculer les péages à l'aide d'un badge de péage

Pour calculer les péages à l'aide d'un badge de péage, vous devez spécifier les badges de péage dans la requête. L'API renvoie ensuite les prix des pass.

  • Si vous spécifiez un badge de péage non valide, il est ignoré.

  • Si vous spécifiez plusieurs badges de péage sous forme de tableau, l'API tente de calculer le prix de l'itinéraire pour chaque badge.

Le fonctionnement des badges de péage peut varier selon la région.

  • Les tarifs peuvent être plus bas avec un badge de péage : dans certaines régions, un conducteur ou un véhicule équipé d'un badge de péage paie un péage différent de ceux qui n'en ont pas. Par exemple, si vous disposez d'un badge de péage Good To Go! à Seattle, dans l'État de Washington (États-Unis), vous payez un péage moins élevé que si vous n'en avez pas.

  • Certaines routes peuvent nécessiter un badge de péage : certaines régions, comme l'Indonésie, ont des routes qui nécessitent un badge de péage. Si vous ne spécifiez pas de badge de péage pour un itinéraire où il est requis, l'API ne renvoie pas de prix de péage.

Calculer les péages pour un itinéraire

L'exemple suivant utilise la méthode computeRoutes pour renvoyer des informations sur les péages avec un prix estimé lorsqu'un badge de télépéage est utilisé. Dans cet exemple, vous :

  • Définissez le champ de tableau extraComputations sur TOLLS pour activer le calcul des informations sur les péages.

  • Spécifiez le type de véhicule et le type de badge de péage à l'aide du champ routeModifiers de la requête. Le prix du péage renvoyé est basé sur la tarification utilisée par le type de véhicule et le pass spécifiés. Si plusieurs pass sont spécifiés, le prix le moins cher est renvoyé.

  • Utilisez le masque de champ de réponse pour configurer la méthode afin qu'elle renvoie des informations sur les péages dans la réponse. Dans cet exemple, la requête inclut les propriétés suivantes dans le masque de champ de réponse :

    • routes.travelAdvisory.tollInfo pour renvoyer des informations sur l'ensemble de l'itinéraire.

    • routes.legs.travelAdvisory.tollInfo pour obtenir des informations sur chaque étape.

Demande d'informations sur les péages

curl -X POST -d '{
  "origin":{
    "location":{
      "latLng":{
        "latitude":42.340173523716736,
        "longitude":-71.05997968330408
      }
    }
  },
  "destination":{
    "location":{
      "latLng":{
        "latitude":42.075698891472804,
        "longitude": -72.59806562080408
      }
    }
  },
  "travelMode": "DRIVE",
  "extraComputations": ["TOLLS"],
  "routeModifiers":{
    "vehicleInfo":{
      "emissionType": "GASOLINE"
    },
    "tollPasses": [
      "US_MA_EZPASSMA",
      "US_WA_GOOD_TO_GO"
    ]
  }
}' \
-H 'Content-Type: application/json' \
-H 'X-Goog-Api-Key: YOUR_API_KEY' \
-H 'X-Goog-FieldMask: routes.duration,routes.distanceMeters,routes.travelAdvisory.tollInfo,routes.legs.travelAdvisory.tollInfo' \
'https://routes.googleapis.com/directions/v2:computeRoutes'

Réponse contenant des informations sur les péages

La réponse contient des informations sur les péages dans un objet TollInfo (REST) ou TollInfo (gRPC). Dans cet exemple, vous renvoyez des informations sur les péages pour l'ensemble de l'itinéraire et pour chaque section de l'itinéraire.

{
  "routes": [
    {
      "legs": [
        {
          "travelAdvisory": {
            "tollInfo": {
              "estimatedPrice": [
                {
                  "currencyCode": "USD",
                  "units": "4",
                  "nanos": 400000000
                }
              ]
            }
          }
        }
      ],
      "distanceMeters": 150338,
      "duration": "6650s",
      "travelAdvisory": {
        "tollInfo": {
          "estimatedPrice": [
            {
              "currencyCode": "USD",
              "units": "4",
              "nanos": 400000000
            }
          ]
        }
      }
    }
  ]
}