Podczas obliczania trasy lub macierzy tras możesz uwzględnić opłaty za przejazd drogą płatną. W przypadku wybranych miast możesz obliczyć szacunkową opłatę za przejazd drogą płatną na trasie w odpowiedniej walucie.
Aby uzyskać informacje o opłatach za przejazd dla macierzy tras, przeczytaj artykuł Obliczanie opłat za przejazd dla 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 ceny za przejazd, interfejs Routes API wskazuje istnienie opłaty drogowej o nieznanej wysokości.
Aby uzyskać dokładne szacunki opłat, w prośbie podaj te informacje:
- Rodzaj emisji pojazdu używanego na trasie (
VehicleEmissionType
). Jeśli nie podasz rodzaju emisji, zwrócimy opłatę 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 w gotówce, gdy winiety w żądaniu nie są lokalne dla trasy. - W razie potrzeby wskaż, że chcesz unikać opłat. Jeśli chcesz w miarę możliwości unikać dróg płatnych, dodaj
avoidTolls
jakoRouteModifier
.
Obliczanie opłat za przejazd przy użyciu karty opłat
Aby obliczyć opłaty za przejazd za pomocą winiety, w żądaniu musisz podać informacje o winietach. Następnie interfejs API zwraca ceny karnetów.
Jeśli podasz nieprawidłowy identyfikator urządzenia do pobierania opłat, zostanie on zignorowany.
Jeśli podasz kilka winiet jako tablicę, interfejs API spróbuje obliczyć cenę trasy dla każdej z nich.
Działanie winiet może się różnić w zależności od regionu.
Ceny mogą być niższe w przypadku korzystania z karty opłat za przejazd: w niektórych regionach kierowca lub pojazd z kartą opłat za przejazd płaci inną opłatę niż osoby, które nie mają takiej karty. Jeśli na przykład masz w Seattle w stanie Waszyngton w Stanach Zjednoczonych transponder Good To Go!, zapłacisz niższe opłaty za przejazd niż w przypadku, gdy go nie masz.
Na niektórych drogach może być wymagana winieta: w niektórych regionach, np. w Indonezji, są drogi, na których wymagana jest winieta. Jeśli nie określisz winiety 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 używamy metody computeRoutes
, aby zwrócić informacje o opłatach z szacunkową ceną w przypadku użycia winiety. W tym przykładzie:
Ustaw pole tablicy
extraComputations
naTOLLS
, aby włączyć obliczanie informacji o opłatach za przejazd.Określ typ pojazdu i rodzaj winiety, używając pola
routeModifiers
w żądaniu. Zwracana cena winiety jest obliczana na podstawie cen stosowanych w przypadku określonego typu pojazdu i winiety. Jeśli podano więcej niż 1 karnet, zwracana jest najtańsza cena.Użyj maski pola odpowiedzi, aby skonfigurować metodę zwracania informacji o opłatach w odpowiedzi. W tym przykładzie żądanie zawierało w masce pola odpowiedzi te właściwości:
routes.travelAdvisory.tollInfo
, aby zwrócić informacje o całej trasie.routes.legs.travelAdvisory.tollInfo
– aby uzyskać informacje o każdym odcinku podróży.
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 zwracasz informacje o opłatach za przejazd na całej trasie i na każdym jej odcinku.
{ "routes": [ { "legs": [ { "travelAdvisory": { "tollInfo": { "estimatedPrice": [ { "currencyCode": "USD", "units": "4", "nanos": 400000000 } ] } } } ], "distanceMeters": 150338, "duration": "6650s", "travelAdvisory": { "tollInfo": { "estimatedPrice": [ { "currencyCode": "USD", "units": "4", "nanos": 400000000 } ] } } } ] }