Routing dla pojazdów wielkogabarytowych to zestaw właściwości, które pozwalają optymalizować trasy floty pod kątem pojazdów wielkogabarytowych przez określenie wymiarów fizycznych, wagi i liczby przyczep. Interfejs API używa tych atrybutów do obliczania możliwych tras, które omijają drogi z ograniczeniami, niskie mosty lub trasy z ograniczeniami wagi.
Dzięki routingowi dla pojazdów wielkogabarytowych możesz rozwiązywać problemy logistyczne floty związane z pojazdami ciężkimi i wielkogabarytowymi, na przykład:
- Unikanie zagrożeń na drodze: generowanie planów tras, które kierują pojazdy z dala od niskich przejazdów, dróg z ograniczeniami wagi i innych zagrożeń fizycznych.
- Określanie szczegółowych informacji o pojeździe: uwzględnianie dokładnych wymiarów, masy całkowitej, liczby osi i konfiguracji przyczep w planach tras dla całej floty.
- Ulepszanie planowania dla całej floty: tworzenie wydajnych planów tras dla całej floty ciężarówek przy jednoczesnym zapewnieniu, że wszystkie zadania są zgodne z fizycznymi ograniczeniami drogowymi.
- Włączanie nawigacji krok po kroku: generowanie tokenów trasy dla zoptymalizowanych tras floty i przekazywanie ich do Navigation SDK, aby prowadzić kierowców za pomocą nawigacji dostosowanej do pojazdów wielkogabarytowych.
Ograniczenia
Zanim zaczniesz, musisz zapoznać się z tymi ograniczeniami i wymaganiami.
- Dostępność geograficzna: routing dla pojazdów wielkogabarytowych jest dostępny tylko w 48 sąsiadujących ze sobą stanach USA.
- Informacje dla kierowców i bezpieczeństwo: kierowcy nie mogą polegać wyłącznie na trasach zwracanych przez ten interfejs API, aby zapewnić bezpieczeństwo lub zgodność z przepisami. Nie ma gwarancji, że trasy będą odpowiednie dla pojazdu, a ich pokonywanie może narażać kierowców na zagrożenia, takie jak niskie mosty lub drogi, na których obowiązuje zakaz wjazdu pojazdów wielkogabarytowych.
- Trasy w trybie możliwie najlepszej obsługi: w niektórych przypadkach interfejs API nie może znaleźć trasy, która w pełni spełnia ograniczenia dotyczące podróży. Zamiast tego zwraca trasę w trybie „możliwie najlepszej obsługi”, która może przebiegać przez obszary objęte ograniczeniami.
- Nieobsługiwane funkcje: routing dla pojazdów wielkogabarytowych nie obsługuje tych funkcji:
- opłaty za przejazd ciężarówką;
- ograniczenia prędkości;
- routing dla radioaktywnych materiałów niebezpiecznych.
- Rozliczenia: Google rozlicza wszystkie żądania
optimizeToursw jednolity sposób, niezależnie od tego, czy żądania konfigurują właściwości routingu dla pojazdów wielkogabarytowych. - Trasy długodystansowe: trasy długodystansowe dla ciężarówek o długości 500 km lub większej wymagają więcej czasu na obliczenia niż krótsze trasy i mogą zwracać dane o trasie niższej jakości. Aby zachować jakość trasy, ogranicz odległości między przesyłkami, lokalizacjami początkowymi pojazdów i lokalizacjami końcowymi pojazdów. Jeśli potrzebujesz długich tras, zwiększ terminy realizacji żądań, aby zmniejszyć prawdopodobieństwo wystąpienia błędów
DEADLINE_EXCEEDED.
Właściwości
Aby korzystać z właściwości routingu dla pojazdów wielkogabarytowych, musisz skonfigurować pojazd z jego wymiarami fizycznymi i ustawić tryb routingu na ciężarówkę.
W tej tabeli znajdziesz właściwości najwyższego poziomu służące do konfigurowania routingu dla pojazdów wielkogabarytowych:
| Właściwość | Typ | Wymaganie | Opis |
|---|---|---|---|
travelMode |
tekst | Wymagane | Określa tryb podróży pojazdu. Aby włączyć właściwości routingu dla pojazdów wielkogabarytowych, ustaw tę wartość na TRUCK. |
routeModifiers |
obiekt | Wymagane | Zawiera konfiguracje specyficzne dla trasy, w tym vehicleInfo. |
vehicleInfo
Obiekt vehicleInfo zawiera specyfikację fizyczną pojazdu. Zdefiniuj ten obiekt we właściwości routeModifiers.
Jeśli ustawisz
travelMode na TRUCK, musisz podać obiekt vehicleInfo.
W tej tabeli znajdziesz właściwości dostępne w vehicleInfo
obiekcie:
| Właściwość | Typ | Wymaganie | Opis |
|---|---|---|---|
totalHeightMm |
liczba całkowita | Wymagane | Określa całkowitą wysokość pojazdu w milimetrach. Ta wartość musi być dodatnią liczbą całkowitą. |
totalWidthMm |
liczba całkowita | Wymagane | Określa całkowitą szerokość pojazdu w milimetrach. Ta wartość musi być dodatnią liczbą całkowitą. |
totalWeightKg |
liczba całkowita | Wymagane | Określa całkowitą masę pojazdu w kilogramach. Ta wartość musi być dodatnią liczbą całkowitą. |
totalLengthMm |
liczba całkowita | Wymagane | Określa całkowitą długość pojazdu w milimetrach. Ta wartość musi być dodatnią liczbą całkowitą. |
trailerInfo |
tablica | Opcjonalny | Zawiera tablicę specyfikacji przyczep, która obejmuje właściwość lengthMm określającą długość każdej przyczepy w milimetrach. |
totalAxleCount |
liczba całkowita | Wymagane | Określa łączną liczbę osi w pojeździe. Ta wartość musi być liczbą całkowitą większą lub równą 2. |
Przykłady
Ta sekcja zawiera 2 rodzaje przykładów:
- Przykładowy kod, który ilustruje strukturę routingu dla pojazdów wielkogabarytowych.
- Przykładowe żądanie, które zawiera tę funkcję.
Przykładowy kod
Ten przykład pokazuje strukturę właściwości używanych w routingu dla pojazdów wielkogabarytowych:
"vehicles": [ { "travelMode": "TRUCK", "routeModifiers": { "vehicleInfo": { "totalHeightMm": TOTAL_HEIGHT_MM, "totalWidthMm": TOTAL_WIDTH_MM, "totalWeightKg": TOTAL_WEIGHT_KG, "totalLengthMm": TOTAL_LENGTH_MM, "trailerInfo": [ { "lengthMm": TRAILER_LENGTH_MM } ], "totalAxleCount": TOTAL_AXLE_COUNT } } } ]
Przykładowe żądanie
Ten przykład pokazuje strukturę podstawowego optimizeTours
żądania zawierającego routing dla pojazdów wielkogabarytowych:
{ "model": { "shipments": [ { "pickups": [ { "arrivalLocation": { "latitude": 40.953523, "longitude": -72.2277846 } } ], "deliveries": [ { "arrivalLocation": { "latitude": 40.9546673, "longitude": -72.2580151 } } ] } ], "vehicles": [ { "travelMode": "TRUCK", "routeModifiers": { "vehicleInfo": { "totalHeightMm": 4000, "totalWidthMm": 2500, "totalWeightKg": 9000, "totalLengthMm": 20000, "trailerInfo": [ { "lengthMm": 15000 } ], "totalAxleCount": 5 } }, "costPerKilometer": 1.0 } ] } }
Co dalej?
- Udostępnianie nawigacji krok po kroku: dowiedz się, jak przekazywać
routeTokenzwracany dla każdego przejścia do Navigation SDK na Android lub iOS. - Generowanie linii łamanych przejść i tokenów trasy: dowiedz się, jak wysyłać żądania
tokenów trasy za pomocą
populateTransitionPolylinesw Linii łamanych przejść i tokenów trasy. - Dokumentacja API: zobacz pełną listę pól w dokumentacji
optimizeTours.