Oblicz opłaty za trasę

Gdy obliczasz trasę lub macierz tras, możesz wziąć pod uwagę wszelkie opłaty naliczane na trasie. W przypadku wybranych miast możesz obliczyć szacunkową opłatę za trasę w odpowiedniej walucie.

Informacje o opłatach za rozkład tras znajdziesz w artykule Obliczanie opłat drogowych dla macierzy tras.

Listę obsługiwanych lokalizacji płatnych znajdziesz w dokumentacji TollPass.

Jak obliczamy opłaty drogowe

Interfejs Routes API oblicza szacowaną opłatę za przejazd, biorąc pod uwagę wszelkie zniżki i bilety dostępne dla kierowcy lub pojazdu, a także najwygodniejsze formy płatności. Jeśli brak kwoty opłaty drogowej na danej trasie, interfejs Routes API wskazuje istnienie opłaty za przejazd z nieznaną opłatą.

Aby uzyskać dokładne szacunki wysokości opłat drogowych, podaj w swojej prośbie te informacje:

  • Rodzaj emisji pojazdu używanego na danej trasie (VehicleEmissionType). Jeśli nie podano rodzaju emisji, zwracana jest opłata za pojazd spalany benzyną.
  • Wszystkie winiety pobierane przez pojazd i kierowcę za pomocą TollPass. Interfejs API używa tych winiet, aby określić dokładne opłaty za przejazd, i zwraca ceny gotówkowe, gdy winiety występujące w żądaniu nie dotyczą lokalnej trasy.
  • W razie potrzeby określ, jak unikać opłat. Jeśli chcesz unikać dróg płatnych, gdy to możliwe, dodaj avoidTolls jako RouteModifier.

Obliczaj opłaty za przejazd

Aby obliczyć opłaty za przejazd, musisz wskazać je we wniosku. Następnie interfejs API zwraca ceny biletów.

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

  • Jeśli określisz tablicę z wieloma wpłatami, interfejs API spróbuje obliczyć cenę trasy dla każdego przejazdu.

Sposób działania wpłat za przejazd może się różnić w zależności od regionu.

  • Stawki mogą być niższe z pozwoleniem na wjazd: w niektórych regionach kierowca lub pojazd z pozwoleniem na opłaty pobiera inne opłaty niż osoby, które nie mają takiego winiety. Jeśli na przykład masz opłatę dobrą na drogę w Seattle w stanie Waszyngton w Stanach Zjednoczonych, zapłacisz niższą kwotę niż wtedy, gdy nie masz takiej karty.

  • Niektóre drogi mogą wymagać winiety: w niektórych regionach, np. w Indonezji, obowiązują drogi, które wymagają winiet. Jeśli nie określisz opłaty za przejazd dla trasy, na której winieta jest wymagana, interfejs API nie zwróci tej opłaty.

Obliczanie opłat drogowych za połączenia drogowe

Poniższy przykład pokazuje użycie metody computeRoutes do zwracania informacji o opłatach za przejazd z szacowaną ceną w przypadku użycia winiety. W tym przykładzie:

  • Aby umożliwić obliczanie informacji o opłatach, w polu tablicy extraComputations ustaw TOLLS.

  • Określ typ pojazdu i rodzaj winiety na drogi płatne w polu routeModifiers we wniosku. Zwracana opłata naliczana jest na podstawie cen obowiązujących w przypadku określonego typu pojazdu i biletu. Jeśli podasz więcej niż 1 bilet, zwrócona zostanie najtańsza cena.

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

    • routes.travelAdvisory.tollInfo do zwrócenia informacji o całej trasie.

    • routes.legs.travelAdvisory.tollInfo, aby zwrócić informacje o każdym etapie.

Prośba o informacje o drodze

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 opłatach 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
            }
          ]
        }
      }
    }
  ]
}