Oblicz opłaty za trasę

Deweloperzy z Europejskiego Obszaru Gospodarczego (EOG)

Obliczając trasę lub macierz tras, możesz wziąć pod uwagę opłaty za przejazd. W przypadku wybranych miast możesz obliczyć szacunkową opłatę za przejazd w odpowiedniej walucie.

Aby uzyskać informacje o opłatach za przejazd w przypadku macierzy tras, zobacz Obliczanie opłat za przejazd w przypadku macierzy tras.

Listę obsługiwanych lokalizacji, w których pobierane są opłaty za przejazd, znajdziesz w dokumentacji TollPass.

Jak obliczane są opłaty za przejazd

Interfejs Routes API oblicza szacunkową opłatę za przejazd, biorąc pod uwagę wszelkie rabaty lub winiety dostępne dla kierowcy lub pojazdu oraz najwygodniejsze formy płatności. Jeśli dla danej trasy nie ma dostępnej opłaty za przejazd, interfejs Routes API wskazuje, że opłata jest pobierana, ale jej wysokość jest nieznana.

Aby uzyskać dokładne szacunki opłat za przejazd, w żądaniu uwzględnij te informacje:

  • Typ emisji pojazdu używanego na trasie (VehicleEmissionType). Jeśli nie podasz typu emisji, zostanie zwrócona opłata za przejazd pojazdem zasilanym benzyną.
  • Wszystkie winiety, które ma pojazd i kierowca za pomocą (TollPass). Interfejs API używa winiet do określania dokładnych opłat za przejazd i zwraca ceny gotówkowe gdy winiety w żądaniu nie są lokalne dla trasy.
  • W razie potrzeby określ, aby unikać opłat za przejazd. Jeśli chcesz unikać dróg płatnych, dodaj avoidTolls jako RouteModifier.

Obliczanie opłat za przejazd za pomocą winiety

Aby obliczyć opłaty za przejazd za pomocą winiety, określ wszystkie winiety w żądaniu. Interfejs API zwróci wtedy ceny winiet.

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

  • Jeśli określisz kilka winiet jako tablicę, interfejs API spróbuje obliczyć cenę trasy dla każdej winiety.

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

  • Opłaty mogą być niższe w przypadku winiety: w niektórych regionach kierowca lub pojazd z winietą płaci inną opłatę niż osoby, które nie mają winiety. Jeśli np. masz winietę Good To Go! w Seattle w stanie Waszyngton w USA, zapłacisz niższą opłatę niż w przypadku, gdy nie masz winiety.

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

Obliczanie opłat za przejazd na trasie

Poniższy przykład używa metody computeRoutes do zwracania informacji o opłatach za przejazd z szacunkową ceną, gdy używana jest winieta. W tym przykładzie:

  • Ustaw pole tablicy extraComputations na TOLLS, aby włączyć obliczanie informacji o opłatach za przejazd.

  • Określ typ pojazdu i typ winiety za pomocą pola routeModifiers w żądaniu. Zwracana cena opłaty za przejazd jest oparta na cenach używanych przez określony typ pojazdu i winietę. Jeśli określono więcej niż 1 winietę, zwracana jest najniższa cena.

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

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

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

Żądanie informacji o opłatach za przejazd

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 za przejazd

Odpowiedź zawiera informacje o opłatach za przejazd w obiekcie TollInfo (REST) lub TollInfo (gRPC). W tym przykładzie zwracasz informacje o opłatach za przejazd 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
            }
          ]
        }
      }
    }
  ]
}