Wybrane preferencje dotyczące ruchu zapewniają równowagę między dokładnością danych trasy a wydajnością zapytań. Gdy wysyłasz żądanie, musisz zdecydować, czy lepiej jest zwrócić jak najdokładniejsze wyniki, czy jak najszybciej. Interfejs Routes API udostępnia opcje, które umożliwiają kontrolowanie jakości danych odpowiedzi w porównaniu z 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ą pod względem uwzględniania warunków na drodze w obliczeniach trasy. Każde ustawienie trasy daje wyniki, które różnią się pod względem jakości trasy, przewidywanego czasu dojazdu 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 okresie szczytu natężenie ruchu wzrasta, co powoduje jego spowolnienie i powoduje, że natężenie ruchu jest umiarkowane.
- W przypadku korków natężenie ruchu spada do zera, co powoduje duże natężenie ruchu.
Nieznany ruch
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ą tę samą wartość.
Użyj tej opcji, gdy chcesz, aby odpowiedzi były zwracane najszybciej, a przybliżone informacje o trasie są wystarczające.
Z uwzględnieniem natężenia 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. Ponieważ wzrost jakości danych odbywa się kosztem opóźnienia odpowiedzi, stosujemy optymalizacje wydajności, aby znacznie zmniejszyć opóźnienie.
W odpowiedzi:
Wartość ETA uwzględniająca natężenie ruchu w czasie rzeczywistym znajduje się w komponencie 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ą opóźnione o niewielką wartość.
Traffic aware optimal
Gdy ustawisz preferencję wyznaczania trasy TRAFFIC_AWARE_OPTIMAL
, trasy są obliczane z uwzględnieniem aktualnych warunków drogowych, ale nie są stosowane żadne optymalizacje skuteczności. W tym trybie serwer wykonuje bardziej wyczerpujące wyszukiwanie w sieci drogowej, aby znaleźć optymalną trasę.
Preferencja wyznaczania trasy TRAFFIC_AWARE_OPTIMAL
jest równoważna trybowi używanemu przez maps.google.com i aplikację mobilną Mapy Google.
Gdy używasz tej opcji z opcją Obliczanie macierzy tras, liczba elementów w żądaniu (liczba punktów początkowych × liczba punktów docelowych) nie może przekraczać 100. Więcej informacji o limitach obliczeń w tabeli tras znajdziesz w artykule Obliczanie tabeli tras.
W odpowiedzi:
Wartość ETA uwzględniająca natężenie ruchu w czasie rzeczywistym znajduje się w komponencie odpowiedzi
duration
.Właściwość odpowiedzi
staticDuration
zawiera czas przejazdu po trasie bez uwzględniania warunków na drodze.
Ta preferencja routingu zapewnia najdłuższy czas oczekiwania na odpowiedź (czyli najdłuższy czas oczekiwania na odpowiedź). Użyj tej opcji, jeśli chcesz uzyskać wyniki o najwyższej jakości, niezależnie od czasu oczekiwania na odpowiedzi.
Wpływ ustawienia godziny wylotu
Opcjonalnie możesz użyć właściwości departureTime
, aby ustawić czas wyjazdu. Jeśli nie ustawisz właściwości departureTime
, domyślnie zostanie podany czas wysłania żądania.
W przypadku
TRAFFIC_UNAWARE
nie można ustawićdepartureTime
, ponieważ wybór trasy i czasu trwania są oparte na sieci drogowej i średnim natężeniu ruchu niezależnie od pory dnia.W przypadku
TRAFFIC_AWARE
iTRAFFIC_AWARE_OPTIMAL
, które uwzględniają warunki natężenia ruchu na żywo, natężenie ruchu na żywo staje się ważniejsze, gdydepartureTime
zbliża się do teraźniejszości. Im dalej w przód ustawisz czas wyjazdu, tym większą wagę będzie przywiązywać do historycznych warunków ruchu.
Przykład ustawienia preferencji routingu
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 zapytań o warunki natężenia ruchu na odcinku drogi z uwzględnieniem natężenia ruchu. Więcej informacji znajdziesz w artykule Wysyłanie żądań dotyczących ścieżek poliliniowych.