Wybrane przez Ciebie preferencje dotyczące natężenia ruchu równoważą dokładność szczegółów trasy z wydajnością żądania. Przed przesłaniem prośby należy rozważyć, czy jest zwrócenie możliwie najdokładniejszych wyników lub jak najszybciej. Interfejs Routes API udostępnia opcje, które umożliwiają kontrolę między jakością danych i czasem oczekiwania na odpowiedź.
Ustawianie poziomu danych o ruchu
Interfejs Routes API udostępnia preferencje routingu RoutingPreference (REST) i RoutingPreference (gRPC), które umożliwiają określenie preferencji routingu na potrzeby obliczania tras. Te preferencje różnią się między sobą tym, na ile uwzględniają one warunki na drodze w obliczeniach trasy. Każde ustawienie routingu powoduje uzyskanie wyników różniących się od pod względem jakości trasy, szacowanego czasu dotarcia na miejsce i czasu oczekiwania na odpowiedź.
Warunki na drodze charakteryzują tempo przepływu ruchu. Na przykład:
- Gdy nie ma korków, warunki na drodze są uznawane za normalne, a ruch odbywa się z normalną prędkością.
- W godzinach szczytu natężenie ruchu wzrasta, co powoduje jego spowolnienie i powoduje umiarkowany ruch.
- W przypadku korków natężenie ruchu spada do zera, co powoduje duże natężenie ruchu.
Brak informacji o ruchu
Gdy ustawisz preferencję wyznaczania trasy TRAFFIC_UNAWARE
, trasy są obliczane bez uwzględniania bieżących warunków na drodze. Ta preferencja routingu zapewnia najkrótszy czas odpowiedzi (odpowiedzi są zwracane najszybciej).
Ustawienie domyślne to TRAFFIC_UNAWARE
.
W odpowiedzi:
Przewidywany czas przybycia znajduje się w właściwości odpowiedzi
duration
.Właściwości odpowiedzi
duration
istaticDuration
zawierają takie same wartości .
Użyj tej opcji, gdy chcesz, aby odpowiedzi były zwracane najszybciej, a przybliżone informacje o trasie są wystarczające.
Z uwzględnieniem ruchu
Gdy ustawisz preferencję wyznaczania trasy TRAFFIC_AWARE
, trasy będą obliczane z uwzględnieniem aktualnych warunków na drodze. W rezultacie trasa i szczegóły trasy lepiej odzwierciedlają rzeczywiste warunki. Zwiększenie jakości danych odbywa się kosztem opóźnienia odpowiedzi, dlatego stosujemy optymalizacje wydajności, aby znacznie zmniejszyć opóźnienie.
W odpowiedzi:
Szacowany czas dotarcia na miejsce, który uwzględnia ruch w czasie rzeczywistym, jest zawarty w Właściwość odpowiedzi
duration
.Właściwość odpowiedzi
staticDuration
zawiera czas przejazdu po trasie bez uwzględniania warunków na drodze.
Użyj tej opcji, jeśli chcesz uzyskać dokładniejsze informacje o kierowaniu niż w przypadku TRAFFIC_UNAWARE
, ale nie przeszkadza Ci, że odpowiedzi będą z niewielkim opóźnieniem.
Traffic aware optimal
Gdy skonfigurujesz preferencję routingu TRAFFIC_AWARE_OPTIMAL
, trasy będą
z uwzględnieniem bieżących warunków na drodze, ale bez skuteczności
i optymalizacje. W tym trybie serwer wykonuje bardziej wyczerpujące wyszukiwanie w sieci drogowej, aby znaleźć optymalną trasę.
Preferencje routingu TRAFFIC_AWARE_OPTIMAL
są równoważne trybowi używanemu przez
maps.google.com oraz
Mapy Google na komórki.
Gdy używasz tej opcji z opcją Obliczanie macierzy tras, liczba elementów w żądaniu (liczba miejsc pochodzenia × liczba miejsc docelowych) nie może przekraczać 100. Więcej informacji o limitach macierzy tras Compute znajdziesz w artykule Obliczanie macierzy tras.
W odpowiedzi:
Szacowany czas dotarcia na miejsce, który uwzględnia ruch w czasie rzeczywistym, jest zawarty w Właściwość odpowiedzi
duration
.Właściwość odpowiedzi
staticDuration
zawiera czas przejazdu po trasie bez uwzględniania warunków na drodze.
Takie ustawienie routingu zapewnia największe opóźnienie odpowiedzi (czyli odpowiedzi są zwracane z najdłuższym opóźnieniem). Użyj tego ustawienia routingu, gdy chcą otrzymywać wyniki o najwyższej jakości, niezależnie od czasu potrzebnego na udzielenie odpowiedzi.
Wpływ ustawienia godziny wylotu
Opcjonalnie możesz użyć właściwości departureTime
do ustawienia godziny odjazdu
podróży. Jeśli nie ustawisz właściwości departureTime
, domyślnie zostanie użyta godzina wysłania żądania.
W przypadku
TRAFFIC_UNAWARE
nie można ustawićdepartureTime
, ponieważ wybór trasy i czasu trwania zależy od sieci drogowej i średnich warunków ruchu niezależnych od czasu.Dotyczy to
TRAFFIC_AWARE
iTRAFFIC_AWARE_OPTIMAL
, które biorą udział w aktualnym ruchu należy wziąć pod uwagę warunki, rzeczywisty ruch staje się ważniejszy zbliża siędepartureTime
. Im dalej ustawisz godzinę odjazdu tym bardziej kwestionuje dane historyczne dotyczące ruchu, warunków.
Przykładowe ustawienie preferencji kierowania ruchem
Poniższy kod JSON pokazuje, jak ustawić preferencję kierowania w treści elementu zapytania.
{ "origin":{ "location":{ "latLng":{ "latitude":37.419734, "longitude":-122.0827784 } } }, "destination":{ "location":{ "latLng":{ "latitude":37.417670, "longitude":-122.079595 } } }, "travelMode":"DRIVE", "routingPreference":"TRAFFIC_AWARE_OPTIMAL" }
Konfigurowanie ruchu na poliliniach
Interfejs Routes API umożliwia wysyłanie próśb o informacje o warunkach na drodze wzdłuż linii łamanej z uwzględnieniem ruchu. Więcej informacji znajdziesz w artykule Wysyłanie żądań dotyczących ścieżek wielokątów.