MCP Tools Reference: mapstools.googleapis.com

เครื่องมือ: compute_routes

คำนวณเส้นทางการเดินทางระหว่างต้นทางและปลายทางที่ระบุ โหมดการเดินทางที่รองรับ: DRIVE (ค่าเริ่มต้น), WALK

ข้อกำหนดในการป้อนข้อมูล (สำคัญ): ต้องระบุทั้งต้นทางและปลายทาง โดยต้องระบุโดยใช้วิธีใดวิธีหนึ่งต่อไปนี้ ซึ่งซ้อนอยู่ในฟิลด์ที่เกี่ยวข้อง

  • ที่อยู่: (สตริง เช่น "หอไอเฟล ปารีส") หมายเหตุ: ยิ่งที่อยู่ที่ป้อนละเอียดหรือเฉพาะเจาะจงมากเท่าใด ผลลัพธ์ก็จะยิ่งดีขึ้นเท่านั้น

  • lat_lng: (ออบเจ็กต์, {"latitude": number, "longitude": number})

  • place_id: (สตริง เช่น "ChIJOwE_Id1w5EAR4Q27FkL6T_0") หมายเหตุ: คุณขอรับรหัสนี้ได้จากเครื่องมือ search_places อนุญาตให้ใช้ชุดค่าผสมของประเภทอินพุต (เช่น ต้นทางตามที่อยู่ ปลายทางตาม lat_lng) หากไม่มีทั้งต้นทางหรือปลายทาง คุณต้องขอคำชี้แจงจากผู้ใช้ก่อนที่จะพยายามเรียกใช้เครื่องมือ

การเรียกใช้เครื่องมือตัวอย่าง: {"origin":{"address":"Eiffel Tower"},"destination":{"place_id":"ChIJt_5xIthw5EARoJ71mGq7t74"},"travel_mode":"DRIVE"}

  • เอาต์พุตที่อิงตามข้อมูลพื้นฐานต้องระบุแหล่งที่มาโดยใช้ข้อมูลจากฟิลด์ attribution เมื่อมี

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีใช้ curl เพื่อเรียกใช้เครื่องมือ compute_routes MCP

คำขอ 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 MCP tool specification.
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'

สคีมาอินพุต

ComputeRoutesRequest

ComputeRoutesRequest

การแสดง JSON
{
  "origin": {
    object (Waypoint)
  },
  "destination": {
    object (Waypoint)
  },
  "travelMode": enum (RouteTravelMode)
}
ช่อง
origin

object (Waypoint)

ต้องระบุ จุดอ้างอิงต้นทาง

destination

object (Waypoint)

ต้องระบุ จุดอ้างอิงปลายทาง

travelMode

enum (RouteTravelMode)

ไม่บังคับ ระบุรูปแบบการเดินทาง

จุดบอกทาง

การแสดง 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.
}
ช่อง
ฟิลด์ Union location_type วิธีต่างๆ ในการแสดงสถานที่ location_type ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้น
latLng

object (LatLng)

จุดที่ระบุโดยใช้พิกัดทางภูมิศาสตร์

placeId

string

รหัสสถานที่ที่เชื่อมโยงกับจุดอ้างอิง

address

string

ที่อยู่ที่มนุษย์อ่านได้หรือ Plus Code ดูรายละเอียดได้ที่ https://plus.codes

LatLng

การแสดง JSON
{
  "latitude": number,
  "longitude": number
}
ช่อง
latitude

number

ละติจูดเป็นองศา ต้องอยู่ในช่วง [-90.0, +90.0]

longitude

number

ลองจิจูดเป็นองศา ต้องอยู่ในช่วง [-180.0, +180.0]

RouteTravelMode

ชุดค่าที่ใช้เพื่อระบุโหมดการเดินทาง

Enum
ROUTE_TRAVEL_MODE_UNSPECIFIED ไม่ได้ระบุโหมดการเดินทาง ค่าเริ่มต้นคือ DRIVE
DRIVE เดินทางโดยรถยนต์นั่งส่วนบุคคล
WALK เดินทางด้วยการเดิน หมายเหตุ: WALK เส้นทางอยู่ในเวอร์ชันเบต้า และบางครั้งอาจไม่มีทางเท้าหรือเส้นทางคนเดินที่ชัดเจน คุณต้องแสดงคำเตือนนี้ต่อผู้ใช้สำหรับการเดินทั้งหมดที่คุณแสดงในแอป

สคีมาเอาต์พุต

ComputeRoutesResponse

ComputeRoutesResponse

การแสดง JSON
{
  "routes": [
    {
      object (Route)
    }
  ]
}
ช่อง
routes[]

object (Route)

มีเส้นทางระหว่างต้นทางและปลายทางที่ขอ ปัจจุบันระบบจะแสดงเส้นทางเพียงเส้นทางเดียว

เส้นทาง

การแสดง JSON
{
  "distanceMeters": integer,
  "duration": string,
  "attribution": {
    object (Attribution)
  }
}
ช่อง
distanceMeters

integer

ระยะทางการเดินทางของเส้นทางเป็นเมตร

duration

string (Duration format)

ระยะเวลาที่ใช้ในการไปยังเส้นทาง

ระยะเวลาเป็นวินาทีที่มีเศษทศนิยมได้สูงสุด 9 หลัก โดยลงท้ายด้วย "s" เช่น "3.5s"

attribution

object (Attribution)

ต้องมีการระบุแหล่งที่มาเพื่อแสดงพร้อมกับเส้นทาง

ระยะเวลา

การแสดง JSON
{
  "seconds": string,
  "nanos": integer
}
ช่อง
seconds

string (int64 format)

วินาทีที่ลงชื่อของช่วงเวลา ต้องอยู่ระหว่าง -315,576,000,000 ถึง +315,576,000,000 หมายเหตุ: ขอบเขตเหล่านี้คำนวณจาก 60 วินาที/นาที * 60 นาที/ชั่วโมง * 24 ชั่วโมง/วัน * 365.25 วัน/ปี * 10000 ปี

nanos

integer

เศษส่วนของวินาทีที่มีการลงนามที่ความละเอียดระดับนาโนวินาทีของช่วงเวลา ระยะเวลาที่น้อยกว่า 1 วินาทีจะแสดงด้วยฟิลด์ 0 seconds และฟิลด์ nanos ที่เป็นบวกหรือลบ สำหรับระยะเวลาตั้งแต่ 1 วินาทีขึ้นไป ค่าที่ไม่ใช่ 0 สำหรับฟิลด์ nanos ต้องมีเครื่องหมายเดียวกับฟิลด์ seconds ต้องอยู่ระหว่าง -999,999,999 ถึง +999,999,999

การระบุแหล่งที่มา

การแสดง JSON
{
  "title": string,
  "url": string
}
ช่อง
title

string

ชื่อที่จะแสดงสำหรับการระบุแหล่งที่มา

url

string

URL ที่จะลิงก์สำหรับการระบุแหล่งที่มา

คำอธิบายประกอบเครื่องมือ

คำอธิบายประกอบเครื่องมือจะส่งไปยังไคลเอ็นต์ MCP เพื่ออธิบายความเสี่ยงพื้นฐานของเครื่องมือที่ระบุ ไคลเอ็นต์ส่วนใหญ่จะถือว่าคำแนะนำเหล่านี้ไม่น่าเชื่อถือ แต่สามารถใช้เพื่อตัดสินใจว่าจะส่งข้อความแจ้งการยืนยันให้ผู้ใช้เมื่อใด

นอกจากสตริงชื่อแล้ว คำใบ้บูลีนต่อไปนี้จะได้รับการกำหนดดังนี้

  • readOnlyHint: หากเป็นจริง เครื่องมือจะไม่แก้ไขสภาพแวดล้อม ค่าเริ่มต้น: เท็จ
  • destructiveHint: หากเป็นจริง เครื่องมือจะดำเนินการที่ทำลายล้างได้ หากเป็นเท็จ เครื่องมือจะดำเนินการได้เฉพาะการดำเนินการเพิ่มเติมเท่านั้น ค่าเริ่มต้น: จริง
  • idempotentHint: หากเป็นจริง การเรียกใช้เครื่องมือซ้ำๆ ด้วยอาร์กิวเมนต์เดียวกันจะไม่มีผลเพิ่มเติมต่อสภาพแวดล้อมของเครื่องมือ ค่าเริ่มต้น: เท็จ
  • openWorldHint: หากเป็นจริง เครื่องมือจะโต้ตอบกับ "โอเพนเวิลด์" ของเอนทิตีภายนอกได้ หากเป็นเท็จ เครื่องมือจะโต้ตอบกับเอนทิตีภายในเท่านั้น ตัวอย่างเช่น เครื่องมือค้นหาเว็บจะเป็นแบบโอเพนเวิลด์ แต่เครื่องมือความทรงจำจะไม่ใช่แบบโอเพนเวิลด์

คำแนะนำที่ทำลายล้าง: ❌ | คำแนะนำที่ทำซ้ำได้: ❌ | คำแนะนำแบบอ่านอย่างเดียว: ✅ | คำแนะนำแบบโลกเปิด: ❌