Przy obliczaniu trasy lub macierzy tras warto uwzględnić opłaty naliczane na trasie. W przypadku wybranych miast możesz obliczyć szacowaną wartość opłaty za przejazd na trasie w odpowiedniej walucie.
Informacje o opłatach za rozkład tras znajdziesz na stronie Oblicz opłaty drogowe 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 brak informacji o wysokości opłaty drogowej na danej trasie, interfejs Routes API wskazuje istnienie opłaty. z nieznaną opłatą.
Aby uzyskać dokładne szacunki wysokości opłat drogowych, podaj te informacje: w Twoim żądaniu:
- Typ emisji pojazdu używanego na danej trasie
(
VehicleEmissionType
). Jeśli nie podasz rodzaju emisji, opłata za pojazd spalający benzynę będzie wynosić . - Wszystkie winiety pojazdu i kierowcy używane przez
(
TollPass
). Interfejs API wykorzystuje winiety na drogi, by określić dokładne opłaty drogowe, i zwraca kwoty gotówkowe. kiedy winiety na przejazdy we wniosku nie dotyczą trasy. - W razie potrzeby określ, jak unikać opłat. Jeśli chcesz uniknąć dróg płatnych, w których
jest to możliwe, dodaj
avoidTolls
jako elementRouteModifier
.
Obliczaj opłaty za przejazd
Aby obliczyć opłaty za przejazd, należy określić je w ramach do ich przesłania. 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 podejmie próbę obliczyć cenę za każdą przepustkę.
Sposób działania wpłat za przejazd może się różnić w zależności od regionu.
Opłaty mogą być niższe z winietymi: w niektórych regionach kierowca lub pojazd z winieta jest płatna. Na przykład, jeśli masz Gotowe! w Seattle, WA, USA, zapłacisz niższą kwotę niż wtedy, gdy nie masz pomyślne.
Niektóre drogi mogą wymagać winiety: w niektórych regionach, takich jak Indonezja, które wymagają winiet. Jeśli nie określisz opłaty za przejazd na trasie, w której jest wymagany winieta, interfejs API nie zwraca kwoty opłaty.
Obliczanie opłat drogowych za połączenia drogowe
W poniższym przykładzie użyto parametru
computeRoutes
zwracania informacji o opłatach z szacowaną
w przypadku korzystania z winiety. 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.Określ typ pojazdu i rodzaj winiety za pomocą
routeModifiers
w żądaniu. 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 ma w masce pola odpowiedzi te właściwości:
routes.travelAdvisory.tollInfo
do zwrócenia informacji o całą trasę.routes.legs.travelAdvisory.tollInfo
, aby zwrócić informacje na każdy etap.
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 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 } ] } } } ] }