Dlaczego warto przejść na interfejs Routes API?

Interfejs Routes API zapewnia większą wydajność przy obliczaniu wskazówek dojazdu, odległości i czasu podróży, dzięki czemu warto zastąpić aplikacje korzystające obecnie z interfejsów Directions API i Distance Matrix API. Większość funkcji interfejsu Routes API jest zgodna wstecznie z interfejsami Directions API i Distance Matrix API.

Z tego przewodnika dowiesz się, jakie są najważniejsze różnice w interfejsie Routes API w porównaniu z usługami, które on zastępuje, a także jak postępować w przypadku niezbędnych zmian. Aby dowiedzieć się więcej o innych funkcjach interfejsu Routes API, zapoznaj się z omówieniem usługi.

Najważniejsze ulepszenia

W tej sekcji omawiamy niektóre ulepszenia, których możesz się spodziewać, korzystając z interfejsu Routes API w swoich aplikacjach.

Zwiększone limity żądań

Interfejs Routes API
  • Maksymalnie 625 elementów, chyba że określisz właściwość TRAFFIC_AWARE_OPTIMAL.
  • Maksymalnie 100 elementów z atrybutem TRAFFIC_AWARE_OPTIMAL. Zobacz Ustawienia ulepszonego routingu.
  • Maksymalnie 50 punktów na trasie (miejsca wylotu i docelowe) z użyciem identyfikatora miejsca.
Odległość Matrix API
  • Maksymalnie 25 punktów początkowych lub 25 miejsc docelowych na prośbę.
  • Maksymalnie 100 elementów (liczba punktów początkowych × liczba miejsc docelowych) na żądanie po stronie serwera.

Szybsze odpowiedzi na żądania

Funkcja macierzy tras obliczeniowych zapewnia następujące skrócenie czasu oczekiwania:

  • Otrzymuj elementy strumieniowane odpowiedzi przed obliczeniem całej macierzy.
  • Użyj masek pól, aby dostosować szczegóły odpowiedzi, żądając tylko tych danych, których potrzebujesz. To sprawdzona metoda, która pomaga też obniżyć koszty.
  • Ulepszone obliczanie tras związanych z natężeniem ruchu, dzięki któremu możesz zadbać o równowagę między jakością danych a czasem reakcji.

Ulepszenia routingu

Funkcja Trasa obliczeniowa udostępnia następujące ulepszenia routingu:

  • Informacje o opłatach oprócz odległości i szacowanego czasu dotarcia.
  • Trasy pojazdów dwukołowych.
  • Zapisz punkty na trasie ze względów bezpieczeństwa.
  • Zwiększona dokładność szacowanego czasu dotarcia dzięki ustawieniu kierunku podróżowania i strony drogi dla punktów na trasie.

Żądaj tylko potrzebnych danych

Teraz możesz określić, które pola zwrócić, aby skrócić czas przetwarzania i zwiększyć opłaty.

Interfejs Routes API Twoje żądania muszą używać maski pól, aby określać, które pola mają zostać zwrócone w odpowiedzi. Maskowanie pól zapobiega wysyłaniu żądań zbędnych danych, co pozwala uniknąć niepotrzebnego czasu przetwarzania i opłat.
Więcej informacji znajdziesz w artykule o wybieraniu pól do zwrócenia.
Directions API
Distance Matrix API
Zwraca domyślną listę pól, nawet jeśli aplikacja ich nie potrzebuje. Może to prowadzić do niepotrzebnego czasu przetwarzania i naliczania opłat.

Ulepszone obliczanie tras dla natężenia ruchu

Interfejs Routes API obsługuje 3 ustawienia routingu, które pozwalają zrównoważyć opóźnienie odpowiedzi i jakość danych przy żądaniu informacji o ruchu.

Więcej informacji znajdziesz w artykule o konfigurowaniu jakości a czas oczekiwania.

TRAFFIC_UNAWARE
(domyślnie)
Do obliczania trasy wykorzystuje dane o średnim ruchu niezależnym od czasu, a nie z aktualnych danych o ruchu, co skutkuje najkrótszym czasem oczekiwania na odpowiedź. To ustawienie odpowiada sytuacji, gdy ruch nie jest używany w interfejsach Directions API i Distance Matrix API.
TRAFFIC_AWARE
(nowy)
Jakość rzeczywistego ruchu zoptymalizowana pod kątem wydajności zapewniająca krótsze czasy oczekiwania. W przeciwieństwie do ustawienia TRAFFIC_AWARE_OPTIMAL to ustawienie stosuje optymalizacje, aby znacznie skrócić czas oczekiwania. To ustawienie jest też nowe w interfejsie Routes API, które nie ma odpowiednika w interfejsach Directions API ani Distance Matrix API.
TRAFFIC_AWARE_OPTIMAL Wysokiej jakości kompleksowe dane o ruchu. To ustawienie generuje największy czas oczekiwania i odpowiada ustawieniu departure_time w interfejsach Directions API i Distance Matrix API.
To ustawienie odpowiada trybowi używanemu na stronie maps.google.com i w aplikacji mobilnej Mapy Google.

Porównanie obliczania tras

W tabeli poniżej porównano opcje routingu między usługami Routes API, Directions API i Distance Matrix API.

Opcja ruchu Routes API Directions API
Distance Matrix API
Czas oczekiwania
Brak informacji o ruchu drogowym w czasie rzeczywistym TRAFFIC_UNAWARE Nie ustawiono właściwości departure_time Najszybsze opóźnienie z trzech trybów.
Zastosowano aktualne warunki na drodze TRAFFIC_AWARE Brak odpowiednika

Nowy tryb dodany przez interfejs Routes API. Zapewnia nieco dłuższy czas oczekiwania niż TRAFFIC_UNAWARE przy małym koszcie jakości szacowanego czasu dotarcia.

Jego opóźnienie jest znacznie mniejsze niż w przypadku TRAFFIC_AWARE_OPTIMAL.

Zastosowano kompleksowe, wysokiej jakości dane o aktualnym ruchu TRAFFIC_AWARE_OPTIMAL Zestaw usług departure_time

Odpowiednik trybu używanego na maps.google.com i w aplikacji mobilnej Mapy Google.

W przypadku macierzy tras Compute liczba elementów w żądaniu (liczba punktów początkowych × liczba miejsc docelowych) nie może przekraczać 100.

Główne różnice

W tej sekcji omawiamy najważniejsze różnice między interfejsem Routes API a usługami, które zastępuje, a także sposoby rozwiązania tych różnic w przypadku migracji z tych usług w istniejących aplikacjach.

Dzwonienie do jednej usługi zamiast na dwie

Interfejs Routes API Aby korzystać z tras Compute i macierzy Compute, włącz w aplikacji tylko jedną usługę w konsoli API.
Więcej informacji znajdziesz w artykule o konfiguracji w konsoli interfejsów API Google.
Directions API
Distance Matrix API
Włącz 2 usługi: Directions API i Distance Matrix API jako osobne usługi w konsoli API.

Wykorzystuje HTTPS POST żądania

Interfejs Routes API Przekaż parametry w treści żądania lub w nagłówkach w ramach żądania HTTP POST.
Przykłady:
Obliczanie trasy
Obliczanie macierzy tras
Directions API
Distance Matrix API
Przekazuj parametry adresu URL za pomocą żądania HTTP GET.

Różnice w odpowiedziach na szacowany czas dotarcia

Interfejs Routes API zwraca szacowany czas dotarcia i używa właściwości odpowiedzi duration w inny sposób niż usługi Directions API i Distance Matrix API, jak pokazano w tabeli poniżej.

Typ szacowanego czasu dotarcia Routes API Directions API
Distance Matrix API
Niezależny od ruchu, niezależny od czasu szacowany czas dotarcia

Ustaw za pomocą funkcji TRAFFIC_UNAWARE.

  • Szacowany czas dotarcia na miejsce zawarty we właściwości odpowiedzi duration.
  • Właściwości odpowiedzi duration i staticDuration mają tę samą wartość.

Wskazuje, że żądanie departure_time nie jest ustawione w żądaniu.

  • Szacowany czas dotarcia na miejsce zawarty we właściwości odpowiedzi duration.
  • Właściwość odpowiedzi duration_in_traffic nie jest zwracana.
szacowany czas dotarcia z uwzględnieniem ruchu w czasie rzeczywistym.

Ustaw za pomocą właściwości TRAFFIC_AWARE lub TRAFFIC_AWARE_OPTIMAL.

  • Szacowany czas dotarcia z uwzględnieniem ruchu w czasie rzeczywistym jest zawarty we właściwości odpowiedzi duration.
  • Właściwość odpowiedzi staticDuration podaje czas podróży po trasie bez uwzględniania warunków drogowych.
  • Właściwość duration_in_traffic nie jest już zwracana.

Ustaw go w żądaniu za pomocą parametru departure_time.

  • Szacowany czas dotarcia z uwzględnieniem ruchu w czasie rzeczywistym jest zawarty we właściwości odpowiedzi duration_in_traffic.

Punkty pośrednie linii łamanej

Za pomocą tej usługi nie trzeba już konwertować współrzędnych szerokości i długości geograficznej na punkty pośrednie linii łamanej, która obsługuje treść żądania POST i nie podlega już limitom w postaci ciągów adresów URL. Niektórzy użytkownicy interfejsu Distance Matrix API rozwiązali problem z limitami żądań, konwertując punkty długości i szerokości geograficznej na punkty na linii łamanej.

Sformatowane adresy (odwrotny geokod)

Interfejs Routes API nie podał w odpowiedzi sformatowanych adresów. Aby uzyskać sformatowane adresy, użyj interfejsu Geocoding API, który został stworzony z myślą o tym przypadku i zapewnia wyższą jakość wyników.

Dostępne środki transportu

Tak jak w przypadku interfejsu Directions API, interfejs Routes API używa trybu Drive jako trybu domyślnego, gdy żądanie trasy nie określa trybu podróży. Jeśli jednak żądanie określa tryb podróży dla trasy, interfejs Routes API nie zwraca tablicy dostępnych trybów podróży jako alternatywnych opcji dla żądania. Jeśli ta funkcja jest w Twoim przypadku, zgłoś problem i opisz, w jaki sposób z niej korzystasz, żebyśmy mogli się z nią skontaktować.

XML jako format odpowiedzi

Interfejs Routes API nie udostępnia formatu XML jako formatu odpowiedzi. W internecie znajdziesz szereg konwertera JSON na XML, które powinny pasować do Twoich potrzeb.