Dlaczego warto przejść na interfejs Routes API?

Deweloperzy z Europejskiego Obszaru Gospodarczego (EOG)

Interfejs Routes API zapewnia większą wydajność obliczania trasy dojazdu, odległości i czasu podróży, dzięki czemu warto zastąpić nim aplikacje korzystające 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 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 produktu.

Najważniejsze ulepszenia

W tej sekcji opisujemy niektóre ulepszenia, których możesz się spodziewać podczas korzystania z interfejsu Routes API w swoich aplikacjach.

Zwiększone limity żądań

Compute Route Matrix w interfejsie Routes API
  • Maksymalnie 625 elementów, chyba że określisz TRAFFIC_AWARE_OPTIMAL.
  • Maksymalnie 100 elementów z TRAFFIC_AWARE_OPTIMAL. Zobacz ulepszone ustawienia wyznaczania trasy.
  • Maksymalnie 50 punktów pośrednich (miejsc początkowych i docelowych) z użyciem identyfikatora miejsca.
Distance Matrix API
  • Maksymalnie 25 punktów początkowych lub 25 miejsc docelowych na żądanie.
  • Maksymalnie 100 elementów (liczba punktów początkowych × liczba punktów docelowych) w przypadku żądania po stronie serwera.

Szybsze odpowiedzi na prośby

Funkcja Macierz wyznaczania tras oferuje te ulepszenia w zakresie opóźnień:

  • Otrzymywanie elementów strumieniowych odpowiedzi, zanim zostanie obliczona cała macierz.
  • Używaj masek pól, aby dostosowywać szczegóły odpowiedzi i żądać tylko potrzebnych danych. Jest to sprawdzona metoda, która pomaga też obniżyć koszty.
  • Ulepszone obliczanie tras na podstawie danych o ruchu, dzięki czemu możesz dokonać wyboru między jakością danych a czasem odpowiedzi.

Ulepszenia routingu

Funkcja obliczania trasy oferuje te ulepszenia routingu:

  • informacje o opłatach, a także odległość i szacowany czas dotarcia na miejsce;
  • Trasy dla pojazdów dwukołowych
  • Sprawdź, czy punkty przesiadkowe są bezpieczne.
  • Zwiększona dokładność szacowanego czasu przybycia dzięki ustawieniu kierunku podróży i strony drogi dla punktów pośrednich.

Proś tylko o dane, których potrzebujesz

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

Routes API
Wyznaczanie tras
Wyznaczanie macierzy tras
W żądaniach musisz używać maski pola, aby określić, które pola mają być zwracane w odpowiedzi. Maskowanie pól gwarantuje, że nie będziesz prosić o niepotrzebne dane, co pozwala uniknąć niepotrzebnego czasu przetwarzania i opłat.
Więcej informacji znajdziesz w artykule Wybieranie pól do zwrócenia.
Directions API
Distance Matrix API
Zwraca domyślną listę pól, nawet jeśli aplikacja nie potrzebuje ich w ścisłym tego słowa znaczeniu. Może to spowodować niepotrzebne wydłużenie czasu przetwarzania i zwiększenie opłat.

Ulepszone obliczanie tras pod kątem natężenia ruchu

Interfejs Routes API obsługuje 3 ustawienia routingu, których możesz używać, aby zachować równowagę między opóźnieniem odpowiedzi a jakością danych podczas wysyłania żądań informacji o ruchu.

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


TRAFFIC_UNAWARE (domyślny)
Do obliczania trasy używa średnich danych o ruchu niezależnych od czasu, a nie danych o ruchu na żywo, co skutkuje najmniejszym opóźnieniem odpowiedzi. To ustawienie odpowiada sytuacji, gdy informacje o natężeniu ruchu nie są używane w interfejsach Directions API i Distance Matrix API.
TRAFFIC_AWARE
(nowość)
Jakość ruchu na żywo zoptymalizowana pod kątem wydajności, aby zmniejszyć opóźnienie. W przeciwieństwie do ustawienia TRAFFIC_AWARE_OPTIMAL to ustawienie stosuje optymalizacje, które znacznie zmniejszają czas oczekiwania. To ustawienie jest też nowe w przypadku interfejsu Routes API i nie ma 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 odpowiednikiem ustawienia departure_time w interfejsach Directions API i Distance Matrix API.
To ustawienie odpowiada trybowi używanemu przez maps.google.com i aplikację mobilną Mapy Google.

Porównanie obliczania trasy

W tabeli poniżej porównaliśmy opcje routingu w usługach 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 departure_time usługa nie jest skonfigurowana Najkrótszy czas oczekiwania spośród 3 trybów.
Zastosowano aktualne warunki na drodze TRAFFIC_AWARE Brak odpowiednika

Nowy tryb dodany przez interfejs Routes API. Zapewnia nieco większe opóźnienie niż TRAFFIC_UNAWARE przy niewielkim koszcie jakości szacowanego czasu dotarcia na miejsce.

Ma znacznie mniejsze opóźnienie niż TRAFFIC_AWARE_OPTIMAL.

Zastosowano wysokiej jakości, kompleksowe dane o aktualnym natężeniu ruchu TRAFFIC_AWARE_OPTIMAL Ustawiono departure_time usługę

Odpowiada trybowi używanemu przez maps.google.com i aplikację mobilną Mapy Google.

W przypadku interfejsu Compute Route Matrix 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 znajdziesz najważniejsze różnice między interfejsem Routes API a usługami, które zastępuje, oraz sposoby radzenia sobie z tymi różnicami podczas migracji z tych usług w dotychczasowych aplikacjach.

Wywoływanie jednej usługi zamiast dwóch

Routes API Włącz w konsoli interfejsów API tylko 1 usługę, aby aplikacja mogła korzystać z interfejsów Compute Routes i Compute Route Matrix.
Więcej informacji znajdziesz w sekcji Konfigurowanie w Konsoli interfejsów API Google.
Directions API
Distance Matrix API
Włącz w Konsoli interfejsów API 2 usługi: Directions API i Distance Matrix API.

Wykorzystuje HTTPS POST żądania

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

Różnice w odpowiedziach dotyczących szacowanego czasu przyjazdu

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

Typ ETA Routes API Directions API
Distance Matrix API
Szacowany czas dotarcia na miejsce niezależny od czasu i natężenia ruchu.

Ustaw za pomocą narzędzia TRAFFIC_UNAWARE.

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

Odpowiada sytuacji, w której w żądaniu nie ustawiono parametru departure_time.

  • Szacowany czas dotarcia na miejsce jest 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 za pomocą TRAFFIC_AWARE lub TRAFFIC_AWARE_OPTIMAL.

  • Szacowany czas dotarcia uwzględniający ruch drogowy w czasie rzeczywistym jest zawarty w polu odpowiedzi duration.
  • Właściwość odpowiedzi staticDuration zawiera czas podróży po trasie bez uwzględniania warunków na drodze.
  • Właściwość duration_in_traffic nie jest już zwracana.

Ustaw za pomocą parametru departure_time w żądaniu.

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

Punkty pośrednie linii łamanej

Dzięki tej usłudze nie musisz już konwertować współrzędnych geograficznych na punkty pośrednie w formacie linii łamanej. Obsługuje ona treść żądania POST, więc nie obowiązują jej już limity długości ciągu adresu URL. Niektórzy użytkownicy interfejsu Distance Matrix API rozwiązali problem z limitami żądań, przekształcając punkty szerokości i długości geograficznej w punkty pośrednie linii łamanej.

Sformatowane 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 wyniki o wyższej jakości.

Dostępne środki transportu

Podobnie jak Directions API, Routes API używa trybu DRIVE jako domyślnego, gdy żądanie trasy nie określa trybu podróży. Jeśli jednak żądanie określa środek transportu dla trasy, interfejs Routes API nie zwraca tablicy dostępnych środków transportu jako alternatywnych opcji dla żądania. Jeśli Twój przypadek użycia zależy od tej funkcji, zgłoś problem, opisując, jak z niej korzystasz, abyśmy mogli się z Tobą skontaktować.

XML jako format odpowiedzi

Interfejs Routes API nie udostępnia formatu XML jako formatu odpowiedzi. W internecie znajdziesz wiele konwerterów JSON na XML, które powinny spełnić Twoje oczekiwania.