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 dla macierzy tras, zapoznaj się z artykułem Obliczanie opłat za przejazd dla macierzy tras.

Listę obsługiwanych lokalizacji opłat drogowych znajdziesz w dokumentacji: TollPass.

Jak obliczamy opłaty drogowe

Interfejs Routes API oblicza szacowane opłaty drogowe, biorąc pod uwagę wszelkie dostępne rabaty i winiety na drogi płatne. do kierowcy lub pojazdu i 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 podaj 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 uniknąć dróg płatnych, w których jest to możliwe, dodaj avoidTolls jako element RouteModifier.

Obliczaj opłaty za przejazd

Aby obliczyć opłaty za przejazd za pomocą karty do poboru opłat, podaj karty do poboru opłat w ramach żądania. Następnie interfejs API zwraca ceny biletów.

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

  • Jeśli określisz tablicę z wieloma wpłatami, interfejs API podejmie próbę obliczyć cenę dla danej trasy.

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 do poboru opłat: w niektórych regionach kierowca lub pojazd z kartą do poboru opłat płaci inną stawkę za przejazd 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.

  • Niektóre drogi mogą wymagać winiety: w niektórych regionach, takich jak Indonezja, które wymagają winiet. 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 do opłat drogowych. W tym przykładzie:

  • W polu tablicy extraComputations ustaw wartość TOLLS, aby włączyć obliczenia i dostęp do informacji o płatnych opłatach.

  • W polu routeModifiers żądania określ typ pojazdu i typ karty do poboru opłat. Zwracana kwota opłaty drogowej jest obliczana na podstawie ceny stosowane w przypadku określonego typu pojazdu i biletu. Jeśli więcej niż jeden zostanie określony bilet, zwracana jest najtańsza cena.

  • Użyj maski pola odpowiedzi, aby skonfigurować metodę informacje o numerze płatnym podane w odpowiedzi. W tym przykładzie żądanie zawierało w polu maski odpowiedzi te właściwości:

    • 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 TollInfo (REST) lub Obiekt TollInfo (gRPC). W tym zwrócimy na przykład informacje o opłatach dla całej trasy i dla każdego etapu trasę.

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