MCP Tools Reference: mapstools.googleapis.com

Araç: compute_routes

Belirtilen bir başlangıç ve varış noktası arasında seyahat rotası hesaplar. Desteklenen Seyahat Modları: ARABA (varsayılan), YÜRÜME.

Giriş Koşulları (ÖNEMLİ): Hem başlangıç noktası hem de hedef gereklidir. Her biri, ilgili alanın içine yerleştirilmiş olarak aşağıdaki yöntemlerden biri kullanılarak sağlanmalıdır:

  • address: (dize, ör. "Eyfel Kulesi, Paris"). Not: Giriş adresi ne kadar ayrıntılı veya belirli olursa sonuçlar o kadar iyi olur.

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

  • place_id: (dize, ör. "ChIJOwE_Id1w5EAR4Q27FkL6T_0") Not: Bu kimlik, search_places aracından alınabilir. Giriş türlerinin herhangi bir kombinasyonuna izin verilir (ör. adrese göre kaynak, enlem_boylama göre hedef). Kaynak veya hedef eksikse aracı çağırmayı denemeden önce KULLANICIDAN AÇIKLAMA İSTEMENİZ GEREKİR.

Örnek Araç Çağrısı: {"origin":{"address":"Eiffel Tower"},"destination":{"place_id":"ChIJt_5xIthw5EARoJ71mGq7t74"},"travel_mode":"DRIVE"}

  • Temellendirilmiş çıktı, varsa attribution alanındaki bilgiler kullanılarak kaynağa atfedilmelidir.

Aşağıdaki kod örneğinde, compute_routes MCP aracını çağırmak için curl simgesinin nasıl kullanılacağı gösterilmektedir.

Curl İsteği
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 MCP tool specification.
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'

Giriş Şeması

ComputeRoutesRequest.

ComputeRoutesRequest

JSON gösterimi
{
  "origin": {
    object (Waypoint)
  },
  "destination": {
    object (Waypoint)
  },
  "travelMode": enum (RouteTravelMode)
}
Alanlar
origin

object (Waypoint)

Zorunlu. Başlangıç ara noktası.

destination

object (Waypoint)

Zorunlu. Hedef ara nokta.

travelMode

enum (RouteTravelMode)

İsteğe bağlıdır. Ulaşım şeklini belirtir.

Ara nokta

JSON gösterimi
{

  // 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.
}
Alanlar
location_type birleşik alanı. Bir konumu temsil etmenin farklı yolları. location_type aşağıdakilerden yalnızca biri olabilir:
latLng

object (LatLng)

Coğrafi koordinatlar kullanılarak belirtilen bir nokta.

placeId

string

Ara nokta ile ilişkili yer kimliği.

address

string

Kullanıcıların okuyabileceği adres veya Plus Code. Ayrıntılar için https://plus.codes adresini ziyaret edin.

LatLng

JSON gösterimi
{
  "latitude": number,
  "longitude": number
}
Alanlar
latitude

number

Enlem (derece). [-90.0, +90.0] aralığında olmalıdır.

longitude

number

Derece cinsinden boylam. [-180.0, +180.0] aralığında olmalıdır.

RouteTravelMode

Seyahat şeklini belirtmek için kullanılan bir değerler kümesi.

Sıralamalar
ROUTE_TRAVEL_MODE_UNSPECIFIED Ulaşım şekli belirtilmedi. Varsayılan olarak DRIVE değerine ayarlanır.
DRIVE Binek otomobille seyahat etme
WALK Yürüyerek seyahat edin. NOT: WALK rotaları beta sürümündedir ve bazen net kaldırımlar veya yaya yolları içermeyebilir. Uygulamanızda gösterdiğiniz tüm yürüyüşler için bu uyarıyı kullanıcıya göstermeniz gerekir.

Çıkış şeması

ComputeRoutesResponse.

ComputeRoutesResponse

JSON gösterimi
{
  "routes": [
    {
      object (Route)
    }
  ]
}
Alanlar
routes[]

object (Route)

İstenen başlangıç ve varış noktası arasındaki rotaları içerir. Şu anda yalnızca bir rota döndürülür.

Rota

JSON gösterimi
{
  "distanceMeters": integer,
  "duration": string,
  "attribution": {
    object (Attribution)
  }
}
Alanlar
distanceMeters

integer

Rotanın seyahat mesafesi (metre cinsinden).

duration

string (Duration format)

Rotada ilerlemek için gereken süre.

En fazla dokuz kesirli basamak içeren ve "s" ile biten, saniye cinsinden süre. Örnek: "3.5s".

attribution

object (Attribution)

Rotayla birlikte gösterilmesi için gerekli ilişkilendirme.

Süre

JSON gösterimi
{
  "seconds": string,
  "nanos": integer
}
Alanlar
seconds

string (int64 format)

Zaman aralığının imzalı saniye sayısı. -315.576.000.000 ile +315.576.000.000 arasında (her iki değer de dahil) olmalıdır. Not: Bu sınırlar şu şekilde hesaplanır: 60 sn/dk * 60 dk/saat * 24 saat/gün * 365,25 gün/yıl * 10.000 yıl

nanos

integer

Zaman aralığının nanosaniye çözünürlüğünde, saniyenin imzalı kesirleri. Bir saniyeden kısa süreler, 0 seconds alanı ve pozitif veya negatif nanos alanı ile gösterilir. Bir saniye veya daha uzun süreler için nanos alanının sıfır olmayan değeri, seconds alanıyla aynı işarete sahip olmalıdır. -999.999.999 ile +999.999.999 arasında (her iki değer de dahil) olmalıdır.

İlişkilendirme

JSON gösterimi
{
  "title": string,
  "url": string
}
Alanlar
title

string

İlişkilendirme için gösterilecek başlık.

url

string

İlişkilendirme için bağlantı verilecek URL.

Araç Açıklamaları

Araç açıklamaları, belirli bir aracın temel riskini açıklamak için MCP istemcilerine gönderilir. Çoğu istemci bu ipuçlarını güvenilmeyen olarak değerlendirir ancak onay isteminin kullanıcıya ne zaman gönderileceğine karar vermek için kullanılabilirler.

Başlık dizesinin yanı sıra aşağıdaki Boole ipuçları şu şekilde tanımlanır:

  • readOnlyHint: Doğruysa araç, ortamını değiştirmez. Varsayılan: false.
  • destructiveHint: Doğruysa araç, yıkıcı işlemler gerçekleştirebilir. Yanlış ise araç yalnızca ekleme işlemleri gerçekleştirebilir. Varsayılan: true.
  • idempotentHint: Doğruysa aynı bağımsız değişkenlerle aracı tekrar tekrar çağırmanın ortamı üzerinde ek bir etkisi olmaz. Varsayılan: false.
  • openWorldHint: Doğruysa araç, harici öğelerin bulunduğu bir "açık dünya" ile etkileşim kurabilir. Yanlışsa araç yalnızca dahili öğelerle etkileşim kurabilir. Örneğin, bir web arama aracı açık dünya olurken bir bellek aracı açık dünya olmaz.

Yok Edici İpucu: ❌ | İdempotent İpucu: ❌ | Salt Okunur İpucu: ✅ | Açık Dünya İpucu: ❌