Dlaczego warto przejść na interfejs Routes API?

Interfejs Routes API zapewnia większą wydajność przy obliczaniu tras, odległości i czasu podróży, dzięki czemu warto zastąpić aplikacje, które obecnie 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 usprawnienia, których możesz się spodziewać, używając interfejsu Routes API w swoich aplikacjach.

Zwiększone limity żądań

Routes API
  • Maksymalnie 625 elementów, chyba że określisz parametr TRAFFIC_AWARE_OPTIMAL.
  • Maksymalnie 100 elementów z TRAFFIC_AWARE_OPTIMAL. Zobacz ustawienia routingu rozszerzonego.
  • 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 czasu oczekiwania:

  • 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. Jest to dobra praktyka, która pomaga też obniżać koszty.
  • Ulepszone obliczanie tras 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 drogowych 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 Żą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 obliczeń trasy dla ruchu

Interfejs Routes API obsługuje 3 preferencje trasowania, które możesz wykorzystać do zrównoważenia opóźnienia odpowiedzi i jakości danych podczas uzyskiwania informacji o ruchu.

Więcej informacji znajdziesz w artykule Konfigurowanie jakości i opóźnienia.

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 odpowiedzi. To ustawienie jest równoważne z brakiem użycia ruchu w interfejsach Directions API i Distance Matrix API.
TRAFFIC_AWARE
(nowa)
Jakość ruchu na potrzeby transmisji na żywo zoptymalizowana pod kątem wydajności, aby zmniejszyć opóźnienie. 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 opcja jest równoważna trybowi używanemu przez maps.google.com oraz 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 Ustawienie „departure_time” nie jest skonfigurowane 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 niższe 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 1 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 szacowany czas dojazdu 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 jako TRAFFIC_AWARE lub TRAFFIC_AWARE_OPTIMAL.

  • Przewidywany czas dojazdu uwzględniający natężenie ruchu w czasie rzeczywistym jest zawarty w atrybucie 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 za pomocą parametru departure_time w żądaniu.

  • Przewidywany czas dojazdu uwzględniający natężenie ruchu w czasie rzeczywistym jest zawarty w atrybucie 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ładunkowania 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 załamania ścieżki wieloliniowej.

Formatowane adresy (odwrotne geokodowanie)

Interfejs Routes API nie zwraca w odpowiedzi sformatowanych adresów. 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ć.