Ustawianie poziomu danych o ruchu

Wybrane przez Ciebie preferencje dotyczące ruchu zapewniają równowagę między dokładnością szczegółów trasy a wydajnością żądań na 2 sposoby:

  • Z uwzględnieniem natężenia ruchu – zwracają jak najbardziej dokładne wyniki (dłuższy czas oczekiwania).

  • Brak informacji o ruchu – zwracanie wyników tak szybko, jak to możliwe (najniższa latencja).

Gdy wysyłasz żądanie, zastanów się, 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ź.

Jak ustawić poziom natężenia 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.

Domyślnie są to wyniki bez uwzględnienia ruchu. Opcje ruchu wybierasz za pomocą preferencji routingu TRAFFIC_UNAWARE, TRAFFIC_AWARETRAFFIC_AWARE_OPTIMAL. Każde ustawienie trasy daje wyniki różniące się jakością trasy, szacowanym czasem dojazdu i czasem oczekiwania na odpowiedź.

warunkach na drogach,

Warunki na drodze charakteryzują szybkość przepływu ruchu:

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

  • Ruch lekki do umiarkowanego: wzrastające natężenie ruchu, przy zmniejszonej prędkości.

  • Duży ruch: duże natężenie ruchu, znacznie zmniejszona prędkość.

Nieznany ruch

Ustawienie domyślne to TRAFFIC_UNAWARE. Użyj tej opcji, jeśli chcesz, aby odpowiedzi były zwracane jak najszybciej, a przybliżone informacje o trasie są wystarczające.

Trasy TRAFFIC_UNAWARE są obliczane bez uwzględniania bieżących warunków ruchu. Ta preferencja routingu zapewnia najszybszą odpowiedź na żądanie (najmniejsze opóźnienie).

Jeśli wybierzesz TRAFFIC_UNAWARE, wybrana trasa i czas są ustalane na podstawie sieci drogowej i średnich warunków ruchu niezależnie od czasu, a nie bieżących 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 z powodu zmian w sieci drogowej, zaktualizowanych średnich warunków ruchu oraz rozproszonego charakteru usługi. Wyniki mogą się też różnić w przypadku niemal identycznych tras w dowolnym czasie lub w dowolnej częstotliwości.

Oto odpowiedzi, które zobaczysz:

  • duration – zawiera szacowany czas dotarcia na trasę.

  • staticDuration: szacowany czas dotarcia na trasę uwzględniający tylko historyczne informacje o ruchu drogowym. W przypadku parametru TRAFFIC_UNAWARE zawiera on tę samą wartość co parametr duration.

Z uwzględnieniem natężenia ruchu

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.

Gdy ustawisz preferencję trasy TRAFFIC_AWARE, usługa oblicza trasę, biorąc pod uwagę aktualne warunki na drodze. W rezultacie trasa i szczegóły trasy lepiej odzwierciedlają rzeczywiste warunki. Zwiększenie jakości danych odbywa się kosztem czasu oczekiwania na odpowiedź, dlatego stosujemy optymalizacje wydajności, aby znacznie go skrócić.

Oto odpowiedzi, które zobaczysz:

  • duration: szacowany czas dotarcia uwzględniający informacje o natężeniu ruchu w czasie rzeczywistym.

  • staticDuration Szacowany czas dotarcia na miejsce uwzględniający tylko historyczne informacje o ruchu.

Traffic aware optimal

Użyj tej opcji, jeśli chcesz uzyskać wyniki o najwyższej jakości, niezależnie od czasu oczekiwania na odpowiedzi. Ta preferencja routingu ma najdłuższy czas opóźnienia w przypadku odpowiedzi (najdłuższy czas oczekiwania).

Gdy ustawisz preferencję wyznaczania trasy TRAFFIC_AWARE_OPTIMAL, usługa oblicza trasę z uwzględnieniem aktualnych warunków na drodze, ale nie stosuje optymalizacji wydajnoś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.

Jeśli używasz tej opcji z obliczeniem macierzy tras, liczba elementów w żądaniu (liczba punktów początkowych × liczba punktów docelowych) nie może przekroczyć

  1. Więcej informacji o limitach obliczeń macierzy tras znajdziesz w artykule Obliczanie macierzy tras.

Oto odpowiedzi, które zobaczysz:

  • duration: szacowany czas dotarcia na miejsce uwzględniający informacje o natężeniu ruchu w czasie rzeczywistym.

  • staticDuration: szacowany czas dotarcia na trasę uwzględniający tylko historyczne informacje o ruchu drogowym.

Ustaw godzinę wylotu (opcjonalnie)

Używaj tej właściwości tylko w przypadku próśb o uwzględnienie natężenia ruchu, w których przypadku czas wyjazdu musi przypadać w przyszłości. Jeśli nie ustawisz właściwości departureTime, zostanie ona domyślnie ustawiona na czas wysłania żądania.

Używaj właściwości departureTime wraz z opcjami TRAFFIC_AWARE i TRAFFIC_AWARE_OPTIMAL, gdy chcesz zmienić sposób przewidywania natężenia ruchu przez usługę podczas wybierania trasy.

  • TRAFFIC_UNAWARE: nie zalecane, ponieważ wybór trasy i czasu trwania są oparte na sieci drogowej i średnim natężeniu ruchu niezależnie od pory dnia.

  • TRAFFIC_AWARETRAFFIC_AWARE_OPTIMAL: zalecane w przypadku wyjazdów w najbliższej przyszłości, ponieważ te preferencje uwzględniają bieżące warunki drogowe. Im bliżej teraźniejszości, tym ruch na żywo staje się ważniejszy i bardziej trafny.departureTime Im bardziej w przód w czasie ustawisz godzinę wyjazdu, tym bardziej podczas wyboru trasy będziesz uwzględniać historyczne warunki natężenia ruchu.

Przykład: jak wybrać kierowanie uwzględniające ruch

Poniższy kod JSON pokazuje, jak ustawić preferencję kierowania TRAFFIC_AWARE_OPTIMAL 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 wielokątów.