MCP Tools Reference: mapstools.googleapis.com

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 (Waypoint)
  },
  "destination": {
    object (Waypoint)
  },
  "travelMode": enum (RouteTravelMode)
}
Pola
origin

object (Waypoint)

Wymagane. Punkt początkowy.

destination

object (Waypoint)

Wymagane. Punkt docelowy.

travelMode

enum (RouteTravelMode)

Opcjonalnie. Określa środek transportu.

Waypoint

Zapis JSON
{

  // Union field location_type can be only one of the following:
  "latLng": {
    object (LatLng)
  },
  "placeId": string,
  "address": string
  // End of list of possible types for union field location_type.
}
Pola
Pole zbiorcze location_type. Różne sposoby przedstawiania lokalizacji. location_type może mieć tylko jedną z tych wartości:
latLng

object (LatLng)

Punkt określony za pomocą współrzędnych geograficznych.

placeId

string

Identyfikator miejsca powiązany z punktem pośrednim.

address

string

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

number

Szerokość geograficzna w stopniach. Musi mieścić się w zakresie [-90,0, +90,0].

longitude

number

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 (Route)
    }
  ]
}
Pola
routes[]

object (Route)

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 (Attribution)
  }
}
Pola
distanceMeters

integer

Odległość podróży w metrach.

duration

string (Duration format)

Czas potrzebny na pokonanie trasy.

Czas trwania w sekundach z maksymalnie 9 miejscami po przecinku, zakończony znakiem „s”. Przykład: "3.5s".

attribution

object (Attribution)

Wymagane informacje o atrybucji, które mają być wyświetlane z trasą.

Czas trwania

Zapis JSON
{
  "seconds": string,
  "nanos": integer
}
Pola
seconds

string (int64 format)

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

integer

Podpisane ułamki sekundy w nanosekundach przedziału czasu. Czasy trwania krótsze niż 1 sekunda są reprezentowane przez pole seconds o wartości 0 oraz pole nanos o wartości dodatniej lub ujemnej. W przypadku czasów trwania wynoszących co najmniej 1 sekundę wartość niezerowa pola nanos musi mieć ten sam znak co pole seconds. Musi mieścić się w zakresie od -999 999 999 do +999 999 999 włącznie.

Atrybucja

Zapis JSON
{
  "title": string,
  "url": string
}
Pola
title

string

Tytuł, który ma być wyświetlany w atrybucji.

url

string

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: ❌