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

Lorsque vous calculez un itinéraire ou une matrice de calcul d'itinéraires, vous pouvez prendre en compte les éventuels frais de péage 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 calcul d'itinéraires, consultez la section Calculer les frais de péage pour une matrice de calcul d'itinéraires.

Pour obtenir la liste des emplacements de péage compatibles, consultez la documentation sur TollPass.

Calcul des péages

L'API Routes calcule les frais de péage estimés, en tenant compte de toutes les remises ou cartes de péage disponibles pour le conducteur ou le véhicule, ainsi que des modes 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 avec des frais inconnus.

Pour obtenir des estimations de péage précises, 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 d'un véhicule à essence est renvoyé.
  • Tous les badges de péage dont dispose le véhicule et le conducteur à l'aide de (TollPass). L'API utilise les badges de péage pour déterminer les tarifs de péage précis et renvoie les prix en espèces lorsque les badges de péage de la requête ne sont pas locaux par rapport à 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'une carte de péage

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

  • Si vous spécifiez une carte de péage non valide, elle est ignorée.

  • Si vous spécifiez plusieurs cartes de péage sous la forme d'un tableau, l'API tente de calculer le prix de l'itinéraire pour chaque carte.

Le fonctionnement des cartes de péage peut varier d'une région à l'autre.

  • Les tarifs peuvent être inférieurs avec une carte de péage: dans certaines régions, un conducteur ou un véhicule disposant d'une carte de péage paie des frais de péage différents de ceux qui n'en ont pas. Par exemple, si vous disposez d'une carte de péage Good To Go! à Seattle (Washington, États-Unis), vous payez un péage inférieur à celui que vous paieriez sans carte.

  • Certaines routes peuvent nécessiter une carte de péage: dans certaines régions, comme l'Indonésie, certaines routes nécessitent une carte de péage. Si vous ne spécifiez pas de carte de péage pour un itinéraire où une carte de péage est requise, l'API ne renvoie pas de prix de péage.

Calculer les frais de péage 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'une carte de péage est utilisée. 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 carte 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 la carte spécifiés. Si plusieurs cartes sont spécifiées, 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 incluait les propriétés suivantes dans le masque de champ de réponse:

    • Champ routes.travelAdvisory.tollInfo pour renvoyer des informations sur l'ensemble du parcours.

    • routes.legs.travelAdvisory.tollInfo pour renvoyer des informations pour 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.

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