Oblicz opłaty za przejazd

Obliczając trasę lub macierz tras, możesz wziąć pod uwagę opłaty drogowe na trasie. W przypadku wybranych miast możesz obliczyć szacowaną opłatę za trasę w przypadku wybranej waluty.

Zobacz listę obsługiwanych lokalizacji płatnych poniżej.

Jak są naliczane opłaty za przejazd

Interfejs Routes API oblicza szacunkową wysokość opłaty drogowej, uwzględniając wszelkie rabaty i bilety dostępne dla kierowcy lub pojazdu oraz najdogodniejsze formy płatności. Jeśli na danej trasie nie ma dostępnych cen za przejazd, interfejs Routes API informuje o istnieniu opłaty za nieznaną opłatę.

Aby dokładnie obliczać opłaty za przejazd, interfejs Routes API pozwala określić:

  • Typ emisji pojazdu używanego na trasie (VehicleEmissionType). Jeśli nie podano typu emisji, opłata za pojazd napędzany benzyną jest zwracana.
  • Opłata za przejazd kierowcą lub pojazdem (TollPass). Jeśli nie określono opłat za przejazd, interfejs API zwraca cenę gotówkową.
  • avoidTolls jako RouteModifier, aby uniknąć dróg płatnych.

Obliczanie opłat za korzystanie z biletu bezpłatnego

W niektórych regionach kierowca lub pojazd z płatną opłacą inną opłatę niż osoby, które nie mają biletu. Jeśli na przykład masz bilet Dobrej jakości, który obowiązuje na terenie Seattle w stanie Waszyngton, płacisz mniej niż w przypadku braku karty.

W niektórych regionach, np. w Indonezji, są drogi, które wymagają opłaty za przejazd. Jeśli opłata za przejazd nie jest określona dla trasy, w której jest wymagana taka opłata, nie jest zwracana cena.

Jeśli w żądaniu podasz opłatę za przejazd, interfejs API spróbuje zwrócić cenę biletu:

  • Jeśli określisz opłatę płatną, zostanie ona zignorowana.

  • Jako tablicę możesz określić kilka winiet. Interfejs API próbuje obliczyć cenę biletu na trasie w przypadku każdej karty.

Oblicz opłaty drogowe na trasie

W przykładzie poniżej użyto metody computeRoutes do zwrócenia informacji o opłatach z szacunkową ceną za korzystanie z opłat. W tym przykładzie:

  • Aby włączyć obliczanie informacji o opłatach, ustaw pole tablicy extraComputations na TOLLS.

  • Określ typ pojazdu i typ opłaty za przejazd, korzystając z pola routeModifiers w żądaniu. Zwrócona kwota opłaty zależy od ceny używanej przez dany typ pojazdu i bilet na przejazd. Jeśli określisz więcej niż 1 karta, wyświetli się najtańsza cena.

  • Aby skonfigurować metodę zwracania informacji o opłatach w odpowiedzi, użyj maski pola odpowiedzi. W tym przykładzie żądanie uwzględniło te właściwości z maski pola odpowiedzi:

    • routes.travelAdvisory.tollInfo, aby zwrócić informacje o całej trasie.

    • routes.legs.travelAdvisory.tollInfo, aby zwrócić informacje dotyczące każdego kroku.

Prośba o informacje o opłatach

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'

Odpowiedź zawierająca informacje o opłatach

Odpowiedź zawiera informacje o opłatach w obiekcie TollInfo (REST) lub TollInfo (gRPC). W tym przykładzie zwracane są informacje o wysokości opłat za całą trasę oraz dla każdego etapu trasy.

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

Oblicz opłaty za przejazd dla macierzy tras

W tym przykładzie użyto metody computeRouteMatrix do zwrócenia informacji o opłatach na trasie wraz z szacunkową ceną za korzystanie z opłat:

  • Aby włączyć obliczanie informacji o opłatach, ustaw pole tablicy extraComputations na TOLLS.

  • Określ typ pojazdu i typ opłaty za przejazd, korzystając z pola routeModifiers punktu pośredniego żądania żądania. Zwrócona cena jest ustalana na podstawie cen powiązanych z określonym typem pojazdu i biletem. Jeśli podasz więcej niż 1 kartę, wyświetli się najtańsza cena.

  • Aby skonfigurować metodę zwracania informacji o opłatach w odpowiedzi, użyj maski pola odpowiedzi. Określ routes.travelAdvisory.tollInfo, aby zwrócić informacje o całej trasie.

Prośba o informacje o wysokości opłat drogowych

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'

Odpowiedź na informacje o tablicy macierzystej trasy

Odpowiedź zawiera informacje o opłatach w obiekcie TollInfo (REST) lub TollInfo (gRPC).

Aby skonfigurować metodę zwracania informacji o opłatach, skorzystaj z maski pola odpowiedzi i ustaw w niej pole travelAdvisory.tollInfo.

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

Obsługiwane lokalizacje opłat

Informacje o opłatach są obecnie dostępne dla tych lokalizacji:

Kod regionuKraj/regionDroga stanowa/miasto/ścieżka płatna
AR Argentyna Buenos Aires
AU Australia Brisbane
AU Australia Sydney
BR Brazylia W całym kraju
Identyfikator Indonezja W całym kraju
IN Indie W całym kraju
MX Meksyk Meksyk (miasto)
PL Stany Zjednoczone Alabama
PL Stany Zjednoczone Alaska
PL Stany Zjednoczone Kalifornia
PL Stany Zjednoczone Kolorado
PL Stany Zjednoczone Delaware
PL Stany Zjednoczone Floryda
PL Stany Zjednoczone Illinois
PL Stany Zjednoczone Iowa
PL Stany Zjednoczone Indiana
PL Stany Zjednoczone Kansas
PL Stany Zjednoczone Luizjana
PL Stany Zjednoczone Maine,
PL Stany Zjednoczone Maryland,
PL Stany Zjednoczone Massachusetts
PL Stany Zjednoczone Michigan,
PL Stany Zjednoczone Minnesota
PL Stany Zjednoczone Missouri
PL Stany Zjednoczone New Hampshire,
PL Stany Zjednoczone New Jersey
PL Stany Zjednoczone Nowy Jork
PL Stany Zjednoczone Karolina Północna
PL Stany Zjednoczone Ohio,
PL Stany Zjednoczone Pensylwania,
PL Stany Zjednoczone Rhode Island
PL Stany Zjednoczone Karolina Południowa
PL Stany Zjednoczone Teksas
PL Stany Zjednoczone Utah
PL Stany Zjednoczone Wirginia
PL Stany Zjednoczone Waszyngton
PL Stany Zjednoczone Wirginia Zachodnia,

Te informacje będą aktualizowane w miarę pojawiania się kolejnych danych o opłatach.