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 środki transportu: SAMOCHÓD (domyślnie), PIESZO.

Wymagania dotyczące danych wejściowych (KRYTYCZNE): wymaga zarówno miejsca odjazdu, jak i miejsca docelowego. Każdy z nich musi być podany w odpowiednim polu za pomocą jednej z tych metod:

  • address: (ciąg znaków, np. „Wieża Eiffla, Paryż”). Uwaga: im bardziej szczegółowy lub precyzyjny jest adres wejściowy, tym lepsze będą wyniki.

  • lat_lng: (obiekt, {"latitude": number, "longitude": number})

  • 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 docelowe według adresu, miejsce docelowe według współrzędnych lat_lng). Jeśli brakuje źródła lub miejsca docelowego, musisz poprosić użytkownika o wyjaśnienie, zanim spróbujesz wywołać narzędzie.

Przykładowe wywołanie narzędzia: {"origin":{"address":"Eiffel Tower"},"destination":{"place_id":"ChIJt_5xIthw5EARoJ71mGq7t74"},"travel_mode":"DRIVE"}

  • Wygenerowane dane muszą być przypisane do źródła na podstawie informacji z pola attribution, jeśli są dostępne.

Poniższy przykład pokazuje, jak za pomocą znaku curl wywołać narzędzie compute_routes MCP.

Żą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.

Punkt pośredni

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 w formie czytelnej dla człowieka lub kod Plus Code. 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 od –90,0 do +90,0.

longitude

number

Długość geograficzna w stopniach. Musi mieścić się w zakresie od –180,0 do +180,0.

Schemat wyjściowy

ComputeRoutesResponse.

ComputeRoutesResponse

Zapis JSON
{
  "routes": [
    {
      object (Route)
    }
  ]
}
Pola
routes[]

object (Route)

Zawiera trasy między 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ść do pokonania na trasie 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 atrybucje, 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 zakresy 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 nanosekundowej rozdzielczości przedziału czasu. Czasy trwania krótsze niż sekunda są reprezentowane przez pole 0 seconds i pole nanos z wartością dodatnią lub ujemną. W przypadku czasów trwania wynoszących co najmniej 1 sekundę wartość pola nanos musi mieć ten sam znak co pole seconds. Wartość 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 przypisaniu.

url

string

Adres URL, do którego ma prowadzić link w przypadku atrybucji.

Adnotacje narzędzi

Destructive Hint: ❌ | Idempotent Hint: ❌ | Read Only Hint: ✅ | Open World Hint: ❌