Narzędzie: compute_routes
Oblicza trasę podróży między określonym miejscem początkowym a docelowym. Obsługiwane tryby podróży: DRIVE (domyślny), WALK.
Wymagania dotyczące danych wejściowych (KRYTYCZNE): wymagane są zarówno miejsce początkowe , jak i miejsce docelowe. Każde z nich musi być podane za pomocą jednej z tych metod, zagnieżdżonej w odpowiednim polu:
address: (ciąg znaków, np. „Wieża Eiffla, Paryż”). Uwaga: im bardziej szczegółowy lub konkretny jest adres wejściowy, tym lepsze będą wyniki.
lat_lng: (obiekt, {"latitude": liczba, "longitude": liczba})
place_id: (ciąg znaków, np. „ChIJOwE_Id1w5EAR4Q27FkL6T_0”) Uwaga: ten identyfikator można uzyskać za pomocą narzędzia search_places. Dozwolona jest dowolna kombinacja typów danych wejściowych (np. miejsce początkowe według adresu, miejsce docelowe według lat_lng). Jeśli brakuje miejsca początkowego lub docelowego, przed próbą wywołania narzędzia MUSISZ poprosić użytkownika o wyjaśnienie.
Przykład wywołania narzędzia: {"origin":{"address":"Eiffel Tower"},"destination":{"place_id":"ChIJt_5xIthw5EARoJ71mGq7t74"},"travel_mode":"DRIVE"}
- Dane wyjściowe muszą być przypisane do źródła za pomocą informacji z pola
attribution, jeśli są dostępne.
Poniższy przykład pokazuje, jak użyć curl, aby wywołać narzędzie MCP compute_routes.
| Żądanie Curl |
|---|
curl --location 'https://mapstools.googleapis.com/mcp' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --data '{ "method": "tools/call", "params": { "name": "compute_routes", "arguments": { // provide these details according to the tool's MCP specification } }, "jsonrpc": "2.0", "id": 1 }' |
Schemat wejściowy
ComputeRoutesRequest.
ComputeRoutesRequest
| Zapis JSON |
|---|
{ "origin": { object ( |
| Pola | |
|---|---|
origin |
Wymagane. Punkt początkowy. |
destination |
Wymagane. Punkt docelowy. |
travelMode |
Opcjonalnie. Określa środek transportu. |
Waypoint
| Zapis JSON |
|---|
{ // Union field |
| Pola | |
|---|---|
Pole zbiorcze location_type. Różne sposoby przedstawiania lokalizacji. location_type może mieć tylko jedną z tych wartości: |
|
latLng |
Punkt określony za pomocą współrzędnych geograficznych. |
placeId |
Identyfikator miejsca powiązany z punktem pośrednim. |
address |
Adres czytelny dla człowieka lub kod plus. Więcej informacji znajdziesz na stronie https://plus.codes. |
LatLng
| Zapis JSON |
|---|
{ "latitude": number, "longitude": number } |
| Pola | |
|---|---|
latitude |
Szerokość geograficzna w stopniach. Musi mieścić się w zakresie [-90,0, +90,0]. |
longitude |
Długość geograficzna w stopniach. Musi mieścić się w zakresie [-180,0, +180,0]. |
RouteTravelMode
Zestaw wartości używanych do określania środka transportu.
| Wartości w polu enum | |
|---|---|
ROUTE_TRAVEL_MODE_UNSPECIFIED |
Nie określono środka transportu. Domyślnie ustawiona jest wartość DRIVE. |
DRIVE |
Podróż samochodem osobowym. |
WALK |
Podróż pieszo. UWAGA: trasy WALK są w wersji beta i mogą czasami nie uwzględniać chodników lub ścieżek dla pieszych. Musisz wyświetlać to ostrzeżenie użytkownikowi w przypadku wszystkich tras pieszych wyświetlanych w aplikacji. |
Schemat wyjściowy
ComputeRoutesResponse.
ComputeRoutesResponse
| Zapis JSON |
|---|
{
"routes": [
{
object ( |
| Pola | |
|---|---|
routes[] |
Zawiera trasy między żądanym miejscem początkowym a docelowym. Obecnie zwracana jest tylko 1 trasa. |
Trasa
| Zapis JSON |
|---|
{
"distanceMeters": integer,
"duration": string,
"attribution": {
object ( |
| Pola | |
|---|---|
distanceMeters |
Odległość podróży w metrach. |
duration |
Czas potrzebny na pokonanie trasy. Czas trwania w sekundach z maksymalnie 9 miejscami po przecinku, zakończony znakiem „ |
attribution |
Wymagane informacje o atrybucji, które mają być wyświetlane z trasą. |
Czas trwania
| Zapis JSON |
|---|
{ "seconds": string, "nanos": integer } |
| Pola | |
|---|---|
seconds |
Podpisane sekundy przedziału czasu. Musi mieścić się w zakresie od -315 576 000 000 do +315 576 000 000 włącznie. Uwaga: te granice są obliczane na podstawie: 60 s/min * 60 min/godz. * 24 godz./dzień * 365,25 dni/rok * 10 000 lat. |
nanos |
Podpisane ułamki sekundy w nanosekundach przedziału czasu. Czasy trwania krótsze niż 1 sekunda są reprezentowane przez pole |
Atrybucja
| Zapis JSON |
|---|
{ "title": string, "url": string } |
| Pola | |
|---|---|
title |
Tytuł, który ma być wyświetlany w atrybucji. |
url |
Adres URL linku do atrybucji. |
Adnotacje narzędzi
Wskazówka dotycząca działania destrukcyjnego: ❌ | Wskazówka dotycząca idempotentności: ❌ | Wskazówka dotycząca trybu tylko do odczytu: ✅ | Wskazówka dotycząca otwartego świata: ❌