Określ, jak i czy chcesz uwzględniać dane o ruchu

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 i staticDuration 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 i TRAFFIC_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.