Narzędzie compute_routes zwraca trasę między miejscem początkowym a docelowym dla danego środka transportu. Odpowiedź zawiera odległość i czas trwania trasy. Domyślnie trasy są obliczane bez uwzględniania informacji o aktualnym natężeniu ruchu.
Pro dodaje wyznaczanie tras, które uwzględnia natężenie ruchu w czasie rzeczywistym i trasy z większą liczbą przystanków pośrednich.
Na tej stronie opisujemy opcje żądań, w tym opcje Pro, zawartość odpowiedzi oraz sposób naliczania opłat za żądania. Pełny schemat narzędzia znajdziesz w dokumentacji compute_routes.
Opcje żądania
| Opcja | Opis |
|---|---|
origin, destination |
Wymagane. Każdy z nich jest punktem pośrednim: address (adres zrozumiały dla człowieka lub plus code), place_id lub lat_lng. Możesz mieszać formaty, np. adres jako miejsce wylotu i identyfikator miejsca jako miejsce docelowe. |
travel_mode |
Środek transportu: DRIVE (domyślny), WALK, BICYCLE lub TRANSIT. Trasy WALK są w wersji beta i czasami mogą nie obejmować chodników ani ścieżek dla pieszych. Musisz wyświetlać to ostrzeżenie użytkownikowi w przypadku wszystkich tras pieszych, które wyświetlasz w aplikacji. |
routing_preference |
Sposób wykorzystania danych o ruchu do obliczania trasy: ROUTING_PREFERENCE_TRAFFIC_UNAWARE (domyślnie) lub ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL, czyli opcja Pro. Funkcja ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL nie jest obsługiwana w przypadku WALK ani BICYCLE. Zobacz Wyznaczanie trasy z uwzględnieniem natężenia ruchu. |
intermediate_waypoints |
Uporządkowane przystanki między miejscem początkowym a docelowym. Trasa przebiega przez nie w podanej kolejności. Żądanie może zawierać do 10 punktów pośrednich lub od 11 do 25 w ramach opcji Pro. Żądanie z ponad 25 adresami URL zwraca błąd INVALID_ARGUMENT. Trasy transportu publicznego nie obsługują punktów pośrednich. |
departure_time lub arrival_time |
Godzina wyjazdu z miejsca początkowego lub przyjazdu do miejsca docelowego jako sygnatura czasowa RFC 3339. Ustaw maksymalnie 1 wartość. Domyślnie jest to bieżąca godzina. W przypadku TRANSIT czas może wynosić do 7 dni wstecz lub 100 dni w przyszłość. W przypadku innych środków transportu czas nie może być w przeszłości i może być ustawiony na maksymalnie 365 dni do przodu. |
compute_alternative_routes |
Gdy parametr ma wartość true, odpowiedź zawiera alternatywne trasy oprócz zalecanej, jeśli są dostępne. Domyślna wartość to false. |
include_polyline |
Gdy true, każda trasa w odpowiedzi zawiera encodedPolyline. Domyślna wartość to false. |
location_bias |
Szerokość i długość geograficzna, które wpływają na sposób rozpoznawania tekstowych punktów pośrednich, np. w celu uściślenia adresu. |
Opcje wersji Pro
Dwie opcje wybierają kod SKU Pro. Żądanie, które używa jednej lub obu tych funkcji, jest rozliczane w ramach kodu SKU Pro:
| Opcja Pro | Kiedy z niego korzystać |
|---|---|
Adres ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL został ustawiony jako routing_preference |
Użytkownik pyta o natężenie ruchu, korki lub czas podróży z uwzględnieniem aktualnego natężenia ruchu. Zobacz Wyznaczanie trasy z uwzględnieniem natężenia ruchu. |
11–25intermediate_waypoints |
Trasa wymaga więcej niż 10 przystanków między miejscem początkowym a docelowym. |
Wszystkie pozostałe opcje są rozliczane w ramach SKU Essentials, w tym tryb podróży, czas, trasy alternatywne, linie łamane i preferencje lokalizacji.
Wyznaczanie trasy z uwzględnieniem natężenia ruchu
Domyślnie trasy są obliczane bez uwzględniania warunków na drodze w czasie rzeczywistym (ROUTING_PREFERENCE_TRAFFIC_UNAWARE). To ustawienie ma najniższe opóźnienie. Sprawdza się w przypadku żądań, w których natężenie ruchu nie ma znaczenia lub nie ma zastosowania, np. tras pieszych lub planowania ogólnego.
Ustaw parametr routing_preference na ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL, aby obliczyć trasę i czas jej trwania z uwzględnieniem aktualnych warunków na drodze, jeśli dane o ruchu są dostępne. Używaj go, gdy użytkownik pyta, ile czasu zajmie przejazd w danym momencie. W przypadku tras TRANSIT to ustawienie korzysta z danych o transporcie publicznym w czasie rzeczywistym, takich jak opóźnienia i odwołania, jeśli są dostępne. Nie jest obsługiwana w przypadku tras WALK ani BICYCLE. Te żądania zwracają błąd INVALID_ARGUMENT. Jest to opcja Pro, więc żądanie jest rozliczane w ramach SKU Pro. Ta opcja zwiększa też czas oczekiwania.
Jeśli podczas ograniczonej GA Twój projekt nie znajduje się na liście dozwolonych Pro, ta opcja jest traktowana jako ROUTING_PREFERENCE_TRAFFIC_UNAWARE. Więcej informacji znajdziesz w sekcji Opcje Pro w okresie ograniczonego dostępu.
Przykład
Poniższe żądanie dotyczy trasy dojazdu z uwzględnieniem natężenia ruchu, z jednym przystankiem pośrednim i zakodowaną linią łamaną. Opłaty są naliczane w ramach kodu SKU Pro:
{
"method": "tools/call",
"params": {
"name": "compute_routes",
"arguments": {
"origin": {"address": "Ferry Building, San Francisco, CA"},
"destination": {"address": "Golden Gate Park, San Francisco, CA"},
"intermediate_waypoints": [
{"address": "Palace of Fine Arts, San Francisco, CA"}
],
"travel_mode": "DRIVE",
"routing_preference": "ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL",
"include_polyline": true
}
},
"jsonrpc": "2.0",
"id": 1
}
Odpowiedź
Odpowiedź zawiera routes[], uporządkowane od najbardziej do najmniej zalecanych. Zwracana jest tylko jedna trasa, chyba że parametr compute_alternative_routes ma wartość true. Każda trasa obejmuje:
distanceMeters: odległość do przebycia na trasie w metrach.duration: czas potrzebny na pokonanie trasy. W przypadkuROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMALczas trwania uwzględnia warunki na drodze.encodedPolyline: ścieżka trasy jako zakodowana linia łamana, gdyinclude_polylinema wartośćtrue. Możesz go użyć do narysowania trasy na mapie za pomocą innych interfejsów API Google Maps Platform.attribution: atrybucja, którą musisz wyświetlać wraz z trasą. Zobacz Wymagania dotyczące podania źródła.
Opcje Pro podczas ograniczonego GA
W okresie ograniczonej GA opcje Pro są dostępne tylko w przypadku projektów z listy dozwolonych Pro. Jeśli Twój projekt nie jest jeszcze na liście dozwolonych:
ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMALjest traktowany jakoROUTING_PREFERENCE_TRAFFIC_UNAWARE, a żądanie jest rozliczane w ramach SKU Essentials.- Żądanie zawierające więcej niż 10 punktów pośrednich zwraca błąd
INVALID_ARGUMENT(„Obsługiwanych jest maksymalnie 10 punktów pośrednich”).
Aby poprosić o dostęp, zapoznaj się z sekcją Opcje Pro w ramach ograniczonego GA.
Rozliczenia i limity
Każde żądanie compute_routes to jedno zdarzenie podlegające rozliczeniu:
- Żądanie, które nie korzysta z żadnych opcji Pro, jest rozliczane w ramach kodu SKU Essentials.
- Żądanie, które korzysta z opcji Pro, jest rozliczane w ramach kodu SKU Pro. Użycie obu opcji Pro w jednej prośbie nie zmienia opłaty. Informacje o cenach wersji Pro znajdziesz w artykule Porównanie wersji Essentials, Pro i powiązanie ze źródłami informacji przy użyciu Map Google.
Prośba o alternatywne trasy, linię łamaną, czas wyjazdu lub przyjazdu albo inny tryb podróży nie zmienia SKU.
Limit compute_routes wynosi 300 zapytań na minutę na projekt i jest współdzielony przez obie SKU. Ceny znajdziesz w głównej tabeli cen i tabeli cen w Indiach.
Limity
- Żądanie może obejmować maksymalnie 25 pośrednich punktów orientacyjnych. Od 11 do 25 to opcja Pro. Żądanie z większą liczbą zwraca błąd
INVALID_ARGUMENT. - Trasy transportu publicznego nie obsługują punktów pośrednich. Żądanie dotyczące transportu publicznego z pośrednimi punktami orientacyjnymi zwraca błąd
INVALID_ARGUMENT. - Funkcja
ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMALnie jest obsługiwana w przypadku tras pieszych i rowerowych. - W przypadku tras transportu publicznego godziny odjazdu i przyjazdu mogą być podane do 7 dni wstecz lub do 100 dni do przodu. W przypadku innych środków transportu nie mogą one przypadać w przeszłości i mogą być oddalone o maksymalnie 365 dni.
- Współrzędne punktu pośredniego muszą mieścić się w prawidłowych granicach geograficznych (szerokość geograficzna od -90 do 90, długość geograficzna od -180 do 180).
- Narzędzie nie zwraca szczegółowych wskazówek dojazdu, odcinków ani szczegółów linii transportu publicznego.