Dlaczego warto przejść na interfejs Routes API?

Interfejs Routes API zapewnia większą wydajność obliczania tras, odległości i czasu podróży, dzięki czemu warto zastąpić aplikacje, które korzystają z interfejsów Directions API i Distance Matrix API. Większość funkcji interfejsu Routes API jest zgodna wstecz z interfejsami Directions API i Distance Matrix API.

Z tego przewodnika dowiesz się, jakie są główne różnice między interfejsem Routes API a usługami, które zastępuje, oraz jak wprowadzić niezbędne zmiany. Więcej informacji o innych funkcjach interfejsu Routes API znajdziesz w omówieniu usługi.

Najważniejsze ulepszenia

W tej sekcji opisujemy 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 – obliczanie macierzy tras
  • Maksymalnie 625 elementów, chyba że określisz parametr TRAFFIC_AWARE_OPTIMAL.
  • Maksymalnie 100 elementów z TRAFFIC_AWARE_OPTIMAL. Zobacz Ustawienia zaawansowanego routingu.
  • Maksymalnie 50 punktów pośrednich (punktów początkowych i miejsc docelowych) z użyciem identyfikatora miejsca.
Distance Matrix API
  • Maksymalnie 25 miejsc pochodzenia lub 25 miejsc docelowych na żądanie.
  • Maksymalnie 100 elementów (liczba źródeł × liczba miejsc docelowych) na żądanie po stronie serwera.

Szybsze odpowiedzi na żądania

Funkcja obliczania macierzy tras zapewnia te ulepszenia dotyczące opóźnień:

  • Otrzymywanie elementów odpowiedzi w strumieniu przed obliczeniem całej macierzy.
  • Używaj masek pól, aby dostosowywać szczegóły odpowiedzi, prosząc o tylko te dane, których potrzebujesz. To sprawdzona metoda, która pomaga też obniżać koszty.
  • Ulepszone obliczanie trasy dla ruchu, dzięki czemu możesz dostosować jakość danych do czasu odpowiedzi.

Usprawnienia routingu

Funkcja obliczania trasy oferuje te ulepszenia routingu:

  • informacje o opłatach za przejazd oprócz odległości i szacowanego czasu dotarcia;
  • Trasy dla pojazdów dwukołowych.
  • Sprawdź punkty pośrednie na trasie pod kątem bezpieczeństwa.
  • Zwiększono dokładność szacowanego czasu dotarcia przez ustawienie kierunku podróży i strony drogi dla punktów drogi.

Przesyłaj tylko dane, których potrzebujesz

Możesz teraz określić, które pola mają być zwracane, co pozwoli skrócić czas przetwarzania i obniżyć opłaty.

Routes API
Obliczanie tras
Obliczanie macierzy tras
Żądania muszą zawierać maskę pola, która określa, które pola mają być zwrócone w odpowiedzi. Maskowanie pól zapewnia, że nie wysyłasz niepotrzebnych danych, co pozwala uniknąć niepotrzebnego czasu przetwarzania i niepotrzebnych opłat.
Aby dowiedzieć się więcej, przeczytaj artykuł Wybieranie pól do zwracania.
Directions API
Distance Matrix API
Zwraca domyślną listę pól, nawet jeśli aplikacja ich nie potrzebuje. Może to spowodować niepotrzebny czas przetwarzania i opłaty.

Ulepszenie obliczania tras dla ruchu

Interfejs Routes API obsługuje 3 preferencje trasowania, które umożliwiają zrównoważenie czasu oczekiwania na odpowiedź i jakości danych podczas uzyskiwania informacji o ruchu drogowym.

Więcej informacji znajdziesz w artykule Konfigurowanie jakości w porównaniu z opóźnieniem.

TRAFFIC_UNAWARE
(domyślnie)
Do obliczania trasy używa średnich danych o natężeniu ruchu niezależnych od czasu, a nie danych o natężeniu ruchu w czasie rzeczywistym, co zapewnia najkrótszy czas reakcji. To ustawienie jest równoważne z brakiem użycia ruchu w interfejsach Directions API i Distance Matrix API.
TRAFFIC_AWARE
(nowa)
Optymalizacja jakości ruchu na potrzeby transmisji na żywo w celu zmniejszenia opóźnienia. W przeciwieństwie do TRAFFIC_AWARE_OPTIMAL to ustawienie stosuje optymalizacje, aby znacznie zmniejszyć opóźnienia. To ustawienie jest też nowe w przypadku interfejsu Routes API, ponieważ nie ma on odpowiednika w interfejsach Directions API ani Distance Matrix API.
TRAFFIC_AWARE_OPTIMAL wysokiej jakości, kompleksowe dane o ruchu; To ustawienie powoduje największe opóźnienie i jest równoważne ustawieniu departure_time w interfejsie Directions API i interfejsie Distance Matrix API.
Ta preferencja jest równoważna trybowi używanemu przez maps.google.com i aplikację mobilną Mapy Google.

Porównanie obliczeń trasy

Poniższa tabela porównuje 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 w czasie rzeczywistym TRAFFIC_UNAWARE Usługa departure_time nie jest skonfigurowana Najkrótszy czas oczekiwania spośród 3 trybów.
Zastosowano warunki na drodze TRAFFIC_AWARE Brak odpowiednika

Dodano nowy tryb przez interfejs Routes API. Zapewnia ona nieco większe opóźnienie niż TRAFFIC_UNAWARE przy niewielkim koszcie jakości ETA.

Ma znacznie mniejsze opóźnienie niż TRAFFIC_AWARE_OPTIMAL.

wysokiej jakości, kompleksowe dane o natychmiastowym ruchu drogowym; TRAFFIC_AWARE_OPTIMAL Zestaw usług departure_time

Równoważny trybowi używanemu przez maps.google.com i aplikację mobilną Mapy Google.

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

Najważniejsze różnice

W tej sekcji opisaliśmy główne różnice między interfejsem Routes API a usługami, które on zastępuje, oraz sposoby rozwiązania tych różnic podczas migracji z tych usług w dotychczasowych aplikacjach.

Zadzwoń do jednej usługi zamiast do 2

Routes API Aby korzystać z funkcji Oblicz trasy i Oblicz macierz tras, w Konsoli interfejsu API włącz tylko jedną usługę dla swojej aplikacji.
Aby dowiedzieć się więcej, przeczytaj artykuł Konfigurowanie 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 interfejsów API.

Używa HTTPS POST żądań

Routes API Przekazywanie parametrów w treści żądania lub w nagłówkach w ramach żądania HTTP POST.
Zobacz przykłady:
- Obliczanie trasy
- Obliczanie macierzy tras
Directions API
Distance Matrix API
Przekazywanie parametrów adresu URL za pomocą żądania HTTP GET.

Różnice w odpowiedziach dotyczących czasu dojazdu

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

Typ ETA Routes API Directions API
Distance Matrix API
Nie uwzględnia natężenia ruchu i nie zależy od czasu.

Ustaw za pomocą TRAFFIC_UNAWARE.

  • Przewidywany czas dotarcia zawarty we właściwości odpowiedzi duration.
  • Właściwości odpowiedzi duration i staticDuration zawierają tę samą wartość.

Odpowiada temu, że parametr departure_time nie jest ustawiony w żądaniu.

  • Przewidywany czas dotarcia zawarty we właściwości odpowiedzi duration.
  • Właściwość odpowiedzi duration_in_traffic nie jest zwracana.
szacowany czas dotarcia na miejsce, który uwzględnia natężenie ruchu w czasie rzeczywistym;

Ustaw wartość TRAFFIC_AWARE lub TRAFFIC_AWARE_OPTIMAL.

  • Przewidywany czas dojazdu uwzględniający natężenie ruchu w czasie rzeczywistym jest zawarty w usłudze odpowiedzi duration.
  • Właściwość odpowiedzi staticDuration zawiera czas przejazdu po trasie bez uwzględniania warunków ruchu.
  • Właściwość duration_in_traffic nie jest już zwracana.

Ustaw w żądaniu wartość departure_time.

  • Przewidywany czas dojazdu uwzględniający natężenie ruchu w czasie rzeczywistym jest zawarty w usłudze odpowiedzi duration_in_traffic.

Punkty pośrednie linii łamanej

Dzięki tej usłudze nie musisz już konwertować współrzędnych geograficznych na punkty załadunkowe w postaci łańcucha Polyline. Usługa obsługuje treść żądania POST, więc nie musisz już zwracać uwagi na limity dotyczące ciągu znaków adresu URL. Niektórzy użytkownicy interfejsu Distance Matrix API rozwiązali problem z ograniczeniami liczby żądań, konwertując punkty szerokości i długości geograficznej na punkty pośrednie ścieżki wieloliniowej.

Formatowane adresy (odwrotne geokodowanie)

Interfejs Routes API nie udostępnia sformatowanych adresów w odpowiedzi. Aby uzyskać sformatowane adresy, użyj interfejsu Geocoding API, który został stworzony do tego celu i zapewnia wyższą jakość wyników.

Dostępne środki transportu

Podobnie jak w przypadku interfejsu Directions API, interfejs Routes API używa trybu JAZDA jako 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 Twoje potrzeby wymagają korzystania z tej funkcji, zgłoś problem, opisując, jak z niej korzystasz. Pozwoli nam to skontaktować się z Tobą w tej sprawie.

XML jako format odpowiedzi

Interfejs Routes API nie zwraca XML jako formatu odpowiedzi. W internecie znajdziesz wiele konwerterów JSON na XML, które powinny Ci się przydać.