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 ( |
| Pola | |
|---|---|
origin |
Wymagane. Punkt początkowy. |
destination |
Wymagane. Punkt docelowy. |
travelMode |
Opcjonalnie. Określa środek transportu. |
Punkt pośredni
| 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 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 |
Szerokość geograficzna w stopniach. Musi mieścić się w zakresie od –90,0 do +90,0. |
longitude |
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 ( |
| Pola | |
|---|---|
routes[] |
Zawiera trasy między miejscem początkowym a docelowym. Obecnie zwracana jest tylko 1 trasa. |
Trasa
| Zapis JSON |
|---|
{
"distanceMeters": integer,
"duration": string,
"attribution": {
object ( |
| Pola | |
|---|---|
distanceMeters |
Odległość do pokonania na trasie w metrach. |
duration |
czas potrzebny na pokonanie trasy. Czas trwania w sekundach z maksymalnie 9 miejscami po przecinku, zakończony znakiem „ |
attribution |
Wymagane atrybucje, 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 zakresy 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 nanosekundowej rozdzielczości przedziału czasu. Czasy trwania krótsze niż sekunda są reprezentowane przez pole 0 |
Atrybucja
| Zapis JSON |
|---|
{ "title": string, "url": string } |
| Pola | |
|---|---|
title |
Tytuł, który ma być wyświetlany w przypisaniu. |
url |
Adres URL, do którego ma prowadzić link w przypadku atrybucji. |
Adnotacje narzędzi
Destructive Hint: ❌ | Idempotent Hint: ❌ | Read Only Hint: ✅ | Open World Hint: ❌