Oblicz opłaty za trasę

Podczas obliczania trasy lub macierzy tras warto wziąć pod uwagę opłaty za przejazd po trasie. W wybranych miastach możesz obliczyć szacunkowy koszt opłaty za przejazd autostradą dla danej trasy w odpowiedniej walucie.

Aby uzyskać opłaty za przejazd w ramach macierzy tras, zapoznaj się z artykułem Obliczanie opłat za przejazd w ramach macierzy tras.

Listę obsługiwanych lokalizacji znajdziesz w dokumentacji TollPass.

Jak obliczane są opłaty za przejazd

Interfejs Routes API oblicza szacunkowe opłaty za przejazd, biorąc pod uwagę zniżki na opłaty za przejazd lub winiety dostępne dla kierowcy lub pojazdu oraz najwygodniejsze formy płatności. Jeśli nie ma dostępnej ceny za przejazd na danej trasie, interfejs Routes API wskazuje, że opłata jest wymagana, ale jej wysokość jest nieznana.

Aby uzyskać dokładne szacunki opłat za przejazd, w prośbie uwzględnij te informacje:

  • Typ emisji pojazdu używanego na trasie (VehicleEmissionType). Jeśli nie zostanie podany typ emisji, zwrócona zostanie opłata za pojazd napędzany benzyną.
  • Wszystkie opłaty za przejazd, które pojazd i kierowca mają (TollPass). Interfejs API używa tych opłat, aby określić dokładne opłaty za przejazd, i zwraca ceny za gotówkę, gdy opłaty za przejazd w żądaniu nie są lokalne dla trasy.
  • W razie potrzeby określ, czy chcesz unikać opłat za przejazd autostradami. Jeśli chcesz unikać dróg płatnych, dodaj avoidTolls jako RouteModifier.

Obliczanie opłat za przejazd przy użyciu karty do poboru opłat

Aby obliczyć opłaty za przejazd za pomocą karty do opłat drogowych, podaj karty do opłat drogowych w ramach żądania. Interfejs API zwraca ceny biletów.

  • Jeśli podasz nieprawidłową kartę, zostanie ona zignorowana.

  • Jeśli podasz wiele kart w tablicy, interfejs API spróbuje obliczyć cenę trasy dla każdej z nich.

Sposób działania kart opłat drogowych może się różnić w zależności od regionu.

  • Stawki mogą być niższe w przypadku karty poboru opłat: w niektórych regionach kierowca lub pojazd z kartą poboru opłat płaci inną stawkę niż osoby bez karty. Jeśli na przykład masz kartę Good To Go! w Seattle w stanie Waszyngton w Stanach Zjednoczonych, płacisz niższe opłaty niż bez niej.

  • Na niektórych drogach może być wymagana winieta: w niektórych regionach, np. w Indonezji, niektóre drogi wymagają winiety. Jeśli nie określisz karty do poboru opłat za przejazd dla trasy, na której jest ona wymagana, interfejs API nie zwróci ceny za przejazd.

Obliczanie opłat drogowych na trasie

W tym przykładzie metoda computeRoutes zwraca informacje o opłatach drogowych wraz z szacowaną ceną, gdy używana jest karta poboru opłat. W tym przykładzie:

  • Aby umożliwić obliczenie informacji o opłatach drogowych, ustaw pole tablicy extraComputations na TOLLS.

  • W polu routeModifiers żądania określ typ pojazdu i typ karty do poboru opłat. Zwrócona cena za przejazd jest obliczana na podstawie cen stosowanych przez określony typ pojazdu i winietę. Jeśli podano więcej niż 1 kartę, zwracana jest cena najtańsza.

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

    • routes.travelAdvisory.tollInfo, aby zwrócić informacje o całym przebiegu trasy.

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

Prośba o informacje dotyczące opłat drogowych

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 drogowych

Odpowiedź zawiera informacje o opłatach drogowych w obiekcie TollInfo (REST) lub TollInfo (gRPC). W tym przykładzie zwracasz informacje o mytach dla całej trasy i każdego jej etapu.

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