Calculer les frais de péage

Lorsque vous calculez un itinéraire ou une matrice de routage, il peut être utile de prendre en compte tous les frais de péage sur l'itinéraire. Pour certaines villes, vous pouvez calculer les frais de péage estimés pour un itinéraire dans la devise appropriée.

Consultez la liste des péages acceptés ci-dessous.

Calcul des péages

L'API Routes calcule les frais de péage estimés, en tenant compte des remises ou des pass de péage disponibles pour le conducteur ou le véhicule, ainsi que des modes de paiement les plus pratiques. Si aucuns frais de péage ne sont disponibles pour un itinéraire donné, l'API Routes indique l'existence d'un péage avec des frais inconnus.

Pour calculer avec précision les frais de péage, l'API Routes vous permet de spécifier les éléments suivants:

  • Type d'émission du véhicule utilisé pour l'itinéraire (VehicleEmissionType). Si aucun type d'émission n'est spécifié, les frais de péage pour un véhicule essence sont renvoyés.
  • Tout pass de péage pour le conducteur ou le véhicule (TollPass). Si aucun pas de péage n'est spécifié, l'API renvoie le prix en espèces.
  • avoidTolls en tant que RouteModifier pour éviter les routes à péage.

Calcul des péages avec un télépéage

Dans certaines régions, les conducteurs et les véhicules disposant d'un pass de péage paient des frais différents de ceux des autres utilisateurs. Par exemple, si vous proposez un péage vert, vous payez un tarif moins élevé que si vous n'avez pas de titre de transport.

Certaines régions, comme l'Indonésie, disposent de routes nécessitant un péage. Si aucun télépéage n'est spécifié pour un itinéraire nécessitant un péage, aucun prix n'est renvoyé.

Si vous spécifiez un péage dans la requête, l'API tente de renvoyer le prix du billet:

  • Si vous spécifiez un télépéage non valide, il sera ignoré.

  • Vous pouvez spécifier plusieurs péages en tant que tableau. L'API tente de calculer le prix de la carte pour chaque carte.

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 une estimation du prix lorsqu'un télépéage est utilisé. Dans cet exemple, vous allez:

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

  • Spécifiez le type de véhicule et le type de péage en utilisant le champ routeModifiers de la requête. Les frais de péage affichés sont basés sur les tarifs utilisés pour le type de véhicule et la carte spécifiés. Si plusieurs cartes sont spécifiées, la tarification la moins chère est renvoyée.

  • Utilisez le masque de champ de réponse pour configurer la méthode qui renvoie les informations relatives aux péages dans la réponse. Dans cet exemple, la requête incluait les propriétés suivantes dans le masque du champ de réponse:

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

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

Demande de péage

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'intégralité de l'itinéraire et pour chaque section de celui-ci.

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

Calculer les frais de péage pour une matrice de routage

L'exemple suivant utilise la méthode computeRouteMatrix pour renvoyer des informations sur les péages d'un itinéraire avec une estimation du prix lorsqu'un télépéage est utilisé:

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

  • Spécifiez le type de véhicule et le type de péage en utilisant le champ routeModifiers des points de cheminement origin de la requête. Les frais de péage affichés sont basés sur les tarifs utilisés pour 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 qui renvoie les informations relatives aux péages dans la réponse. Spécifiez routes.travelAdvisory.tollInfo pour renvoyer des informations sur l'intégralité de l'itinéraire.

Requête d'informations sur les péages d'itinéraires

curl -X POST -d '{
"origins": [
  {
    "waypoint": {
      "location": {
        "latLng": {
          "latitude":42.340173523716736,
          "longitude":-71.05997968330408
        }
      }
    },
    "routeModifiers": {
      "vehicleInfo":{
        "emissionType": "GASOLINE"
      },
      "tollPasses": [
        "US_MA_EZPASSMA",
        "US_WA_GOOD_TO_GO"
      ]
    }
  }
],
"destinations": [
  {
    "waypoint": {
      "location": {
        "latLng": {
          "latitude":42.075698891472804,
          "longitude": -72.59806562080408
        }
      }
    }
  }
],
"travelMode": "DRIVE",
"extraComputations": ["TOLLS"]
}' \
-H 'Content-Type: application/json' \
-H 'X-Goog-Api-Key: YOUR_API_KEY' \
-H 'X-Goog-FieldMask: originIndex,destinationIndex,travel_advisory.tollInfo,duration,distanceMeters,status' \
'https://routes.googleapis.com/distanceMatrix/v2:computeRouteMatrix'

Réponse aux informations sur les péages de matrices d'itinéraires

La réponse contient des informations sur les péages dans un objet TollInfo (REST) ou TollInfo (gRPC).

Pour configurer la méthode de retour des informations sur les péages, utilisez le masque de champ de réponse pour définir le champ travelAdvisory.tollInfo dans le masque.

[
  {
    "originIndex": 0,
    "destinationIndex": 0,
    "status": {},
    "distanceMeters": 150338,
    "duration": "5382s",
    "travelAdvisory": {
      "tollInfo": {
        "estimatedPrice": [
          {
            "currencyCode": "USD",
            "units": "4",
            "nanos": 400000000
           }
        ]
      }
    }
  }
]

Péages acceptés

Les informations relatives aux péages sont actuellement disponibles pour les destinations suivantes:

Code de régionPays/RégionÉtat/Ville/Péage
AR Argentine Buenos Aires
AU Australie Brisbane
AU Australie Sydney
BR Brésil Tout le pays
ID Indonésie Tout le pays
IN Inde Tout le pays
MX Mexique Mexico
US United States Alabama
US United States Alaska
US United States Californie
US United States Colorado
US United States Delaware
US United States Floride
US United States Illinois
US United States Iowa
US United States Indiana
US United States Kansas
US United States Louisiane
US United States Maine
US United States Maryland
US United States Massachusetts
US United States Michigan
US United States Minnesota
US United States Missouri
US United States New Hampshire
US United States New Jersey
US United States New York
US United States Caroline du Nord
US United States Ohio
US United States Pennsylvanie
US United States Rhode Island
US United States Caroline du Sud
US United States Texas
US United States Utah
US United States Nord
US United States Washington
US United States Virginie-Occidentale

Ces informations seront mises à jour à mesure que d'autres données relatives aux péages seront disponibles.