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.
Możesz wywołać compute_routes przez serwer MCP lub jako metodę REST computeRoutes. Na tej stronie opisujemy opcje żądania, w tym opcje Pro, zawartość odpowiedzi oraz sposób naliczania opłat za żądania. Pełne schematy znajdziesz w dokumentacji compute_routes MCP i dokumentacji computeRoutes REST.
Opcje żądania
W tabeli poniżej opisano opcje żądania dla compute_routes:
| 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 – na przykład adres jako miejsce początkowe 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. ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL nie jest obsługiwany 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 więcej niż 25 elementami zwraca błąd INVALID_ARGUMENT. Trasy transportu publicznego nie obsługują punktów pośrednich. |
departure_time lub arrival_time |
Kiedy wyjechać z miejsca początkowego lub przyjechać do miejsca docelowego (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 w przeszłości lub 100 dni w przyszłości. W przypadku innych środków transportu czas nie może być w przeszłości i może być ustawiony maksymalnie na 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 |
Współrzędne geograficzne, które wpływają na sposób rozpoznawania tekstowych punktów pośrednich, np. w celu uściślenia adresu. |
Opcje wersji Pro
Wybierz Maps Grounding Pro SKU. Żą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. |
Od 11 do 25intermediate_waypoints |
Trasa wymaga więcej niż 10 przystanków między miejscem początkowym a docelowym. |
Wszystkie pozostałe opcje, w tym tryb podróży, czas, trasy alternatywne, linie łamane i lokalizacja, są rozliczane w ramach SKU Essentials.
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 na podstawie aktualnych warunków na drodze, gdy dane o natężeniu ruchu są dostępne. Użyj go, gdy użytkownik pyta, ile czasu zajmie przejazd w tej chwili. 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.
Przykład
Poniższe żądanie MCP dotyczy trasy dojazdu z uwzględnieniem natężenia ruchu, z jednym przystankiem pośrednim i zakodowaną linią łamaną. Jest rozliczany 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
}
Ten przykładowy kod wysyła to samo żądanie do metody REST computeRoutes:
curl -X POST \
-H "Content-Type: application/json" \
-H "X-Goog-Api-Key: API_KEY" \
-d '{
"origin": {"address": "Ferry Building, San Francisco, CA"},
"destination": {"address": "Golden Gate Park, San Francisco, CA"},
"intermediateWaypoints": [
{"address": "Palace of Fine Arts, San Francisco, CA"}
],
"travelMode": "DRIVE",
"routingPreference": "ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL",
"includePolyline": true
}' \
"https://mapstools.googleapis.com/v1:computeRoutes"
Zastąp API_KEY swoim kluczem interfejsu API.
Odpowiedź
Odpowiedź zawiera routes[], uporządkowane od najbardziej do najmniej zalecanych. Zwracana jest tylko jedna trasa, chyba że compute_alternative_routes ma wartość true. Każda trasa obejmuje:
distanceMeters: odległość do pokonania 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.retrievalToken: nieprzejrzysty token zwracany dla trasDRIVE(ważny przez 10 minut), który możesz przekazać dosearch_along_route, aby znaleźć miejsca na tej trasie bez ponownego wysyłania punktów pośrednich.attribution: atrybucja, którą musisz wyświetlać wraz z trasą. Zobacz Wymagania dotyczące podania źródła.
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 Maps Grounding Essentials.
- Żądanie, które korzysta z opcji Pro, jest rozliczane w ramach kodu SKU Maps Grounding Pro. Użycie obu opcji Pro w jednym żądaniu nie zmienia opłaty. Informacje o cenach wersji Pro znajdziesz w artykule Porównanie Essentials, Pro i powiązania ze źródłami informacji przy użyciu Map Google.
Prośba o alternatywne trasy, linię łamaną, czas wyjazdu lub przyjazdu albo inny środek transportu nie zmienia SKU.
Limit compute_routes wynosi 300 zapytań na minutę w przypadku każdego projektu i jest współdzielony przez oba kody SKU. Ceny znajdziesz w głównej tabeli cen i tabeli cen w Indiach.
Limity
- Żądanie może zawierać maksymalnie 25 punktów pośrednich. Opcja Pro obejmuje od 11 do 25 punktów. Żą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 orientacyjnego 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.