Interfejs Routes API zapewnia większą wydajność obliczania trasy, 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ń
| Routes API Compute Route Matrix |
|
| Distance Matrix API |
|
Szybsze odpowiedzi na prośby
Funkcja Macierz wyznaczania tras oferuje te ulepszenia w zakresie opóźnień:
- Otrzymywać elementy strumieniowe odpowiedzi, zanim cała macierz zostanie obliczona.
- Używaj masek pól, aby dostosowywać szczegóły odpowiedzi, i żądaj tylko potrzebnych danych. 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ź bezpieczeństwo punktów przesiadkowych.
- 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 Macierz wyznaczania tras |
W żądaniach musisz używać maski pola, aby określić, które pola mają być zwracane w odpowiedzi. Maskowanie pól zapewnia, ż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ć niepotrzebny czas przetwarzania i opłaty. |
Ulepszone obliczanie tras na podstawie danych o 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 Konfigurowanie 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 aktualnego natężenia ruchu, co zapewnia najmniejsze opóźnienie odpowiedzi. To ustawienie jest równoważne sytuacji, w której w interfejsach Directions API i Distance Matrix API nie jest używany ruch. |
TRAFFIC_AWARE (nowość) |
Jakość aktualnego natężenia ruchu 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 jest odpowiednikiem trybu używanego 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ż Ma znacznie mniejsze opóźnienie niż |
| Wysokiej jakości, kompleksowe dane o aktualnym natężeniu ruchu | TRAFFIC_AWARE_OPTIMAL |
departure_time zestaw usług |
Odpowiada trybowi używanemu przez maps.google.com i aplikację mobilną Mapy Google. W przypadku 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.
Dzwonienie do jednej usługi zamiast do dwóch
| Routes API | Włącz w Konsoli interfejsów API tylko jedną usługę, aby aplikacja mogła korzystać z interfejsów Compute Routes i Compute Route Matrix.
Więcej informacji znajdziesz w artykule 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 żądań
| 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 dotarcia na miejsce
Interfejs Routes API zwraca szacowany czas dotarcia na miejsce i używa właściwości odpowiedzi duration inaczej niż usługi Directions API i Distance Matrix API, jak pokazano w tabeli poniżej.
| Rodzaj szacowanego czasu dotarcia na miejsce | Routes API | Directions API Distance Matrix API |
|---|---|---|
| Szacowany czas dotarcia niezależny od natężenia ruchu. | Ustaw za pomocą narzędzia
|
Odpowiada sytuacji, w której w żądaniu nie ustawiono parametru
|
| szacowany czas dotarcia na miejsce, który uwzględnia natężenie ruchu w czasie rzeczywistym; | Ustaw za pomocą
|
Ustaw za pomocą parametru
|
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 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 polilinii.
Sformatowane adresy (odwrotne geokodowanie)
Interfejs Routes API nie podaje 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 w przypadku interfejsu Directions API, interfejs Routes API używa trybu DRIVE 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 Twój przypadek użycia zależy od tej funkcji, zgłoś problem, opisując, jak z niej korzystasz, abyśmy mogli podjąć odpowiednie działania.
XML jako format odpowiedzi
Interfejs Routes API nie udostępnia formatu XML jako formatu odpowiedzi. W internecie znajdziesz wiele konwerterów z JSON na XML, które powinny spełnić Twoje oczekiwania.