Ustawianie poziomu danych o ruchu

Deweloperzy z Europejskiego Obszaru Gospodarczego (EOG)

Wybrane ustawienia natężenia ruchu równoważą dokładność szczegółów trasy z wydajnością żądania na jeden z dwóch sposobów:

  • Traffic aware (Uwzględnianie natężenia ruchu) – zwraca najdokładniejsze wyniki (większe opóźnienie).

  • Traffic unaware – zwraca wyniki tak szybko, jak to możliwe (najniższe opóźnienie).

Podczas wysyłania żądania zastanów się, czy lepiej jest uzyskać jak najdokładniejsze wyniki, czy jak najszybciej. Interfejs Routes API udostępnia opcje, które pozwalają kontrolować jakość danych odpowiedzi w porównaniu z czasem oczekiwania na odpowiedź.

Jak ustawić poziom natężenia ruchu

Interfejs Routes API udostępnia RoutingPreference (REST) i RoutingPreference (gRPC), które umożliwiają określanie preferencji dotyczących wyznaczania tras.

Domyślnie wyniki nie uwzględniają natężenia ruchu. Opcje ruchu wybierasz za pomocą ustawień routingu TRAFFIC_UNAWARE, TRAFFIC_AWARE i TRAFFIC_AWARE_OPTIMAL. Każde ustawienie trasy daje wyniki, które różnią się jakością trasy, szacowanym czasem dotarcia na miejsce i opóźnieniem odpowiedzi.

warunkach na drogach,

Warunki na drodze określają natężenie ruchu:

  • Normalny ruch: brak korków, ruch odbywa się z normalną prędkością.

  • Małe lub umiarkowane natężenie ruchu: rosnące natężenie ruchu, przy czym ruch odbywa się ze zmniejszoną prędkością.

  • Duży ruch: poważne utrudnienia, znacznie zmniejszona prędkość ruchu.

Brak informacji o ruchu drogowym

TRAFFIC_UNAWARE jest ustawieniem domyślnym. Użyj tej opcji wyznaczania trasy, gdy chcesz jak najszybciej uzyskać odpowiedzi, a przybliżone szczegóły trasy są wystarczające.

Trasy TRAFFIC_UNAWARE są obliczane bez uwzględniania bieżących warunków na drodze. To ustawienie routingu zapewnia najszybszą odpowiedź na żądanie (najniższe opóźnienie).

Jeśli wybierzesz TRAFFIC_UNAWARE, trasa i czas trwania będą określane na podstawie sieci dróg i średnich warunków na drodze niezależnych od czasu, a nie aktualnych warunków na drodze. W związku z tym trasy mogą obejmować drogi, które są tymczasowo zamknięte. Wyniki dla danego żądania mogą się zmieniać w czasie ze względu na zmiany w sieci dróg, aktualizacje średnich warunków na drodze i rozproszony charakter usługi. Wyniki mogą się też różnić w przypadku niemal równoważnych tras w dowolnym momencie lub z dowolną częstotliwością.

Oto odpowiedzi, które zobaczysz:

  • duration – zawiera szacowany czas dotarcia na miejsce.

  • staticDuration: szacowany czas dotarcia na miejsce na trasie, który uwzględnia tylko historyczne informacje o ruchu. W przypadku TRAFFIC_UNAWARE zawiera tę samą wartość co duration.

Uwzględnianie natężenia ruchu

Użyj tej opcji wyznaczania trasy, gdy chcesz uzyskać dokładniejsze informacje o trasie niż w przypadku opcji TRAFFIC_UNAWARE, ale nie przeszkadza Ci, że odpowiedzi będą zwracane z umiarkowanie zwiększonym opóźnieniem.

Gdy ustawisz preferencję trasy TRAFFIC_AWARE, usługa obliczy trasę, biorąc pod uwagę aktualne warunki na drodze. Dzięki temu trasa i jej szczegóły dokładniej odzwierciedlają rzeczywiste warunki. Wzrost jakości danych odbywa się kosztem czasu oczekiwania na odpowiedź, dlatego stosowane są optymalizacje wydajności, które pozwalają znacznie skrócić ten czas.

Oto odpowiedzi, które zobaczysz:

  • duration: szacowany czas dotarcia na miejsce z uwzględnieniem informacji o ruchu w czasie rzeczywistym.

  • staticDuration Szacowany czas dotarcia na miejsce na trasie z uwzględnieniem tylko historycznych informacji o ruchu.

Optymalna trasa z uwzględnieniem natężenia ruchu

Użyj tego ustawienia routingu, gdy chcesz uzyskać wyniki najwyższej jakości, niezależnie od tego, ile czasu zajmie odpowiedź. To ustawienie routingu powoduje najdłuższe opóźnienie w zwracaniu odpowiedzi (najwyższy czas oczekiwania).

Gdy ustawisz preferencję wyznaczania trasy TRAFFIC_AWARE_OPTIMAL, usługa obliczy trasę, uwzględniając aktualne warunki 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ę.

Ustawienie trasy TRAFFIC_AWARE_OPTIMAL odpowiada trybowi używanemu przez maps.google.com i aplikację mobilną Mapy Google.

Jeśli użyjesz tej opcji z metodą Compute Route Matrix, liczba elementów w żądaniu (liczba miejsc początkowych × liczba miejsc docelowych) jest ograniczona. Więcej informacji o limitach macierzy obliczania tras znajdziesz w artykule Obliczanie macierzy tras.

Oto odpowiedzi, które zobaczysz:

  • duration: szacowany czas dotarcia na miejsce na trasie z uwzględnieniem informacji o natężeniu ruchu w czasie rzeczywistym.

  • staticDuration: szacowany czas dotarcia na miejsce na trasie, który uwzględnia tylko historyczne informacje o ruchu.

Ustaw godzinę wyjazdu (opcjonalnie)

Używaj tej właściwości tylko w przypadku żądań uwzględniających natężenie ruchu, w których czas wyjazdu musi być w przyszłości. Jeśli nie ustawisz właściwości departureTime, domyślnie zostanie użyty czas wysłania żądania.

Użyj właściwości departureTime wraz z opcjami TRAFFIC_AWARE i TRAFFIC_AWARE_OPTIMAL, jeśli chcesz dostosować sposób, w jaki usługa prognozuje natężenie ruchu podczas wybierania trasy.

  • TRAFFIC_UNAWARE: niezalecane, ponieważ wybór trasy i czas trwania są oparte na sieci dróg i średnich warunkach na drodze niezależnych od czasu.

  • TRAFFIC_AWARE i TRAFFIC_AWARE_OPTIMAL: zalecane w przypadku wyjazdów w najbliższej przyszłości, ponieważ te ustawienia uwzględniają aktualne warunki na drodze. Ruch na żywo staje się ważniejszy i bardziej istotny, im bliżej departureTime jest do chwili obecnej. Im bardziej odległy czas wyjazdu ustawisz, tym większy wpływ na wybór trasy będą miały historyczne warunki na drodze.

Przykład: jak wybrać wyznaczanie trasy z uwzględnieniem natężenia ruchu

Poniższy kod JSON pokazuje, jak ustawić ustawienie routingu TRAFFIC_AWARE_OPTIMAL w treści encji 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"
}