Wybrane przez Ciebie ustawienia ruchu równoważą dokładność szczegółów trasy z wydajnością żądania na 2 sposoby:
Uwzględnianie natężenia ruchu – zwraca najdokładniejsze możliwe wyniki (większe opóźnienie).
Traffic unaware (Nie uwzględnia ruchu) – zwraca wyniki tak szybko, jak to możliwe (najmniejsze opóźnienie).
Gdy wysyłasz żądanie, zastanów się, czy lepiej jest zwracać jak najdokładniejsze wyniki, czy jak najszybciej. Interfejs Routes API udostępnia opcje, które pozwalają kontrolować jakość danych odpowiedzi w porównaniu z opóźnieniem odpowiedzi.
Jak ustawić poziom ruchu
Interfejs Routes API udostępnia RoutingPreference (REST) i RoutingPreference (gRPC), które umożliwiają określanie preferencji dotyczących wyznaczania tras.
Domyślnie wyświetlane są wyniki bez uwzględniania ruchu. Opcje ruchu wybierasz za pomocą preferencji routingu TRAFFIC_UNAWARE, TRAFFIC_AWARE i TRAFFIC_AWARE_OPTIMAL. Każda preferencja routingu daje wyniki, które różnią się jakością trasy, szacowanym czasem dotarcia na miejsce i opóźnieniem odpowiedzi.
warunkach na drogach,
Warunki na drogach określają natężenie ruchu:
Normalny ruch: brak zatorów, ruch odbywa się z normalną prędkością.
Mały lub średni ruch: rosnące natężenie ruchu, ale pojazdy poruszają się z mniejszą prędkością.
Duży ruch: duże natężenie ruchu, znacznie zmniejszona prędkość.
Bez informacji o ruchu
TRAFFIC_UNAWARE to ustawienie domyślne. Użyj tego ustawienia routingu, jeśli chcesz, aby odpowiedzi były zwracane jak najszybciej, a przybliżone szczegóły routingu są wystarczające.
Trasy TRAFFIC_UNAWARE są obliczane bez uwzględniania aktualnych warunków drogowych. Ten rodzaj routingu zapewnia najszybszą odpowiedź na żądanie (najmniejsze opóźnienie).
Jeśli wybierzesz TRAFFIC_UNAWARE, trasa i czas podróży będą oparte na sieci dróg i średnich warunkach ruchu niezależnych od czasu, a nie na bieżących warunkach na drodze. W związku z tym trasy mogą obejmować drogi, które są tymczasowo zamknięte. Wyniki dla danego żądania mogą się zmieniać z czasem ze względu na zmiany w sieci dróg, zaktualizowane średnie warunki na drodze i rozproszony charakter usługi. Wyniki mogą się też różnić w przypadku niemal identycznych tras w dowolnym momencie lub z dowolną częstotliwością.
Oto odpowiedzi, które zobaczysz:
duration– zawiera szacowany czas dotarcia na trasie.staticDuration: szacowany czas dotarcia na trasie z uwzględnieniem tylko historycznych informacji o ruchu. W przypadkuTRAFFIC_UNAWAREzawiera tę samą wartość coduration.
Uwzględnianie natężenia ruchu
Użyj tego ustawienia routingu, jeśli chcesz uzyskać dokładniejsze szczegóły routingu niż w przypadku ustawienia TRAFFIC_UNAWARE, ale nie przeszkadza Ci umiarkowany wzrost opóźnienia w odpowiedziach.
Gdy ustawisz preferencje dotyczące TRAFFIC_AWARE, usługa obliczy trasę z uwzględnieniem aktualnych warunków na drodze. Dzięki temu trasa i jej szczegóły będą dokładniej odzwierciedlać rzeczywiste warunki. Ponieważ wzrost jakości danych odbywa się kosztem czasu oczekiwania na odpowiedź, stosujemy optymalizacje wydajności, aby znacznie skrócić czas oczekiwania.
Oto odpowiedzi, które zobaczysz:
duration: szacowany czas dotarcia uwzględniający informacje o natężeniu ruchu w czasie rzeczywistym.staticDurationSzacowany czas dotarcia na miejsce na podstawie tylko historycznych informacji o ruchu drogowym.
Optymalizacja pod kątem natężenia ruchu
Użyj tego ustawienia routingu, jeśli chcesz uzyskać wyniki najwyższej jakości bez względu na czas odpowiedzi. Ten rodzaj routingu ma najdłuższe opóźnienie w odpowiedziach (największe opóźnienie).
Gdy ustawisz TRAFFIC_AWARE_OPTIMAL preferencje dotyczące wyznaczania trasy, usługa obliczy trasę z uwzględnieniem aktualnych warunków na drodze, ale nie zastosuje optymalizacji wydajności. W tym trybie serwer przeprowadza bardziej wyczerpujące wyszukiwanie w sieci dróg, aby znaleźć optymalną trasę.
TRAFFIC_AWARE_OPTIMAL Preferencje dotyczące wyznaczania trasy są równoważne trybowi używanemu przez maps.google.com i aplikację mobilną Mapy Google.
Jeśli użyjesz tej opcji z usługą Compute Route Matrix, liczba elementów w żądaniu (liczba punktów początkowych × liczba punktów docelowych) będzie ograniczona. Więcej informacji o limitach macierzy wyznaczania tras znajdziesz w artykule Obliczanie macierzy tras.
Oto odpowiedzi, które zobaczysz:
duration: szacowany czas dotarcia na miejsce na podstawie informacji o ruchu w czasie rzeczywistym.staticDuration: szacowany czas dotarcia na trasie z uwzględnieniem tylko historycznych informacji o ruchu.
Ustaw godzinę wylotu (opcjonalnie)
Używaj tej właściwości tylko w przypadku żądań uwzględniających ruch, w których czas odjazdu musi być w przyszłości. Jeśli nie ustawisz właściwości departureTime, domyślnie będzie ona miała wartość czasu wysłania żądania.
Użyj właściwości departureTime wraz z opcjami TRAFFIC_AWARE i TRAFFIC_AWARE_OPTIMAL, gdy chcesz dostosować sposób, w jaki usługa przewiduje ruch podczas wyboru trasy.
TRAFFIC_UNAWARE: Nie zalecamy, ponieważ wybór trasy i czas trwania podróży zależą od sieci dróg i średnich warunków ruchu niezależnych od czasu.TRAFFIC_AWAREiTRAFFIC_AWARE_OPTIMAL:zalecane w przypadku wyjazdów w najbliższej przyszłości, ponieważ te ustawienia uwzględniają aktualne warunki na drodze. Aktualne natężenie ruchu staje się ważniejsze i bardziej istotne, im bliżejdepartureTimejest do teraźniejszości. Im bardziej odległy jest czas odjazdu, tym większe znaczenie mają historyczne warunki na drodze przy wyborze tras.
Przykład: jak wybrać trasę z uwzględnieniem ruchu
Poniższy kod JSON pokazuje, jak ustawić preferencje routingu TRAFFIC_AWARE_OPTIMAL w treści wiadomości żądania.
{ "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 żądań informacji o warunkach na drodze wzdłuż linii łamanej uwzględniającej ruch. Więcej informacji znajdziesz w artykule Żądanie linii łamanych.