MCP Tools Reference: mapstools.googleapis.com

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

เรียกใช้เครื่องมือนี้เมื่อผู้ใช้ต้องการค้นหาสถานที่ ธุรกิจ หรือจุดที่น่าสนใจตามเส้นทางการเดินทาง (เช่น "ปั๊มน้ำมันระหว่างทางไป Tahoe" "ร้านกาแฟระหว่าง SF กับ San Jose") การเรียกใช้เครื่องมือนี้มีค่าใช้จ่ายสูงกว่า search_places ดังนั้นให้ใช้ search_places แทนเมื่อค้นหาใกล้กับสถานที่เดียวแทนที่จะค้นหาตามเส้นทาง

ข้อกำหนดในการป้อนข้อมูล (สำคัญ):

  1. text_query (สตริง - บังคับ): คำอธิบายภาษาธรรมชาติของสิ่งที่ต้องการค้นหาตามเส้นทาง

    • ตัวอย่าง: 'ev chargers', 'coffee', 'vegetarian restaurants', 'rest stops'
  2. ข้อกำหนดเส้นทาง (บังคับ - ระบุรายการต่อไปนี้เพียง 1 รายการ)

    • retrieval_token (สตริง): retrieval_token ที่แสดงผลโดยการเรียก compute_routes ก่อนหน้าสำหรับเส้นทาง DRIVE ใช้ตัวเลือกนี้เมื่อคำนวณเส้นทางแล้ว โทเค็นจะใช้งานได้เป็นเวลา 10 นาที
    • route_endpoints (ออบเจ็กต์): origin และ destination ของเส้นทาง โดยต้องระบุแต่ละรายการโดยใช้ address, lat_lng หรือ place_id
      • เช่น {"route_endpoints": {"origin": {"address": "San Francisco, CA"}, "destination": {"address": "Lake Tahoe, CA"}}}
    • encoded_polyline (สตริง): เส้นประกอบที่เข้ารหัสซึ่งแสดงเส้นทาง DRIVE
  3. travel_mode (enum - ไม่บังคับ): DRIVE (ค่าเริ่มต้น), WALK หรือ BICYCLE WALK และ BICYCLE รองรับเฉพาะ route_endpoints เท่านั้น ไม่รองรับ TRANSIT

  4. routing_preference (enum - ไม่บังคับ):

    • ROUTING_PREFERENCE_TRAFFIC_UNAWARE (ค่าเริ่มต้น): คำนวณเส้นทางและทางอ้อมโดยไม่มีข้อมูลการจราจรแบบเรียลไทม์ เวลาในการตอบสนองต่ำที่สุด
    • ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL: ใช้สภาพการจราจรแบบเรียลไทม์เมื่อพร้อมใช้งาน ไม่รองรับ WALK หรือ BICYCLE ตั้งค่านี้เมื่อผู้ใช้ถามเกี่ยวกับการจราจร ความแออัด หรือเวลาในการเปลี่ยนเส้นทางที่ปรับตามการจราจรเท่านั้น ซึ่งจะทำให้เกิดเวลาในการตอบสนองที่สูงขึ้น
  5. include_extended_details (บูลีน - ไม่บังคับ): ตั้งค่าเป็น true เฉพาะเมื่อคำขอต้องการข้อมูลเชิงลึกเกี่ยวกับรีวิวเชิงคุณภาพ รายการเมนูหรือข้อเสนอที่เฉพาะเจาะจง บรรยากาศ เคล็ดลับสำหรับผู้เข้าชมหรือปริมาณผู้เข้าใช้บริการ ความพร้อมใช้งานของที่ชาร์จ EV ราคาน้ำมัน หรือรายละเอียดเชิงคุณภาพอื่นๆ ที่สมบูรณ์ ค่าเริ่มต้นคือ false การเปิดใช้ฟีเจอร์นี้อาจเพิ่มเวลาในการตอบสนอง

  6. language_code (สตริง - ไม่บังคับ): ภาษาสำหรับสรุปผลการค้นหาและรายละเอียดสถานที่ เช่น en, ja, en-US ค่าเริ่มต้นคือ en-US

  7. region_code (สตริง - ไม่บังคับ): รหัสภูมิภาค CLDR ของ Unicode ของผู้ใช้ เช่น US, CA

วิธีการเรียกใช้เครื่องมือ

  • ผลลัพธ์แต่ละรายการจะมี detour_summary (หากมี) ซึ่งอธิบายระยะทางเพิ่มเติม (localized_detour_distance) และเวลาเพิ่มเติม (detour_duration) ที่เกิดขึ้นจากการแวะที่สถานที่นั้น เว้นแต่จะมีการระบุเส้นทางเป็น encoded_polyline ใช้เพื่อเปรียบเทียบตัวเลือกต่างๆ
  • คำตอบ summary อาจมีการอ้างอิงแบบอิงตามศูนย์ (เช่น "[0]") ที่อ้างอิงรายการใน results
  • เอาต์พุตที่มีการอ้างอิงข้อมูลต้องระบุแหล่งที่มาโดยใช้ฟิลด์ attribution ของ results[].place แต่ละรายการ (หากมี)

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

คำขอ 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": "search_along_route",
    "arguments": {
      // Provide these details according to the MCP tool specification.
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'

สคีมาอินพุต

ข้อความคำขอสำหรับ SearchAlongRoute

SearchAlongRouteRequest

การแสดง JSON
{
  "textQuery": string,
  "languageCode": string,
  "regionCode": string,
  "routingPreference": enum (RoutingPreference),
  "includeExtendedDetails": boolean,
  "travelMode": enum (RouteTravelMode),

  // Union field route_spec can be only one of the following:
  "encodedPolyline": string,
  "retrievalToken": string,
  "routeEndpoints": {
    object (RouteEndpoints)
  }
  // End of list of possible types for union field route_spec.
}
ช่อง
textQuery

string

ต้องระบุ คำค้นหาโดยใช้ภาษาธรรมชาติ (เช่น "ที่ชาร์จ EV" "กาแฟ")

languageCode

string

ไม่บังคับ ภาษาสำหรับข้อมูลสรุปและรายละเอียดสถานที่ ค่าเริ่มต้นคือ "en-US"

regionCode

string

ไม่บังคับ รหัสประเทศ/ภูมิภาค (CLDR) ของสถานที่ตั้ง (เช่น "US")

routingPreference

enum (RoutingPreference)

ไม่บังคับ ค่ากำหนดการกำหนดเส้นทางที่ไม่บังคับซึ่งระบุวิธีใช้ข้อมูลการจราจร ค่าเริ่มต้นคือ TRAFFIC_UNAWARE

includeExtendedDetails

boolean

ไม่บังคับ รวมรายละเอียดสถานที่เพิ่มเติมในการตอบกลับ

ตั้งค่าฟิลด์นี้เป็น true เมื่อคำขอของผู้ใช้ต้องการข้อมูลเชิงลึกเชิงคุณภาพที่สมบูรณ์ ไดนามิกแบบเรียลไทม์ หรือแอตทริบิวต์เอนทิตีเฉพาะทาง เช่น รีวิวเชิงคุณภาพ ความรู้สึกของลูกค้า และความคิดเห็น - ข้อเสนอที่เฉพาะเจาะจง เช่น รายการเมนู อาหาร อาหารพิเศษ เครื่องดื่ม หรือไฮไลต์ของธุรกิจ - บรรยากาศเชิงคุณภาพ การตกแต่งภายใน สุนทรียภาพ บรรยากาศ หรืออารมณ์ - ข้อมูลแบบเรียลไทม์และข้อมูลจำเพาะของสถานที่เฉพาะทาง นโยบาย/เคล็ดลับสำหรับผู้เข้าชม เวลารอ

ปล่อย false (ค่าเริ่มต้น) ไว้สำหรับการค้นหาเพื่อการสำรวจมาตรฐาน (เช่น อาหาร ประเภทของร้านค้า) การค้นหาสถานที่/ที่อยู่ ข้อมูลติดต่อ เวลาทำการ และข้อมูลเมตา/สิ่งอำนวยความสะดวกมาตรฐาน

การเปิดใช้ช่องนี้อาจทำให้เวลาในการตอบสนองสูงขึ้น

travelMode

enum (RouteTravelMode)

ไม่บังคับ ระบุโหมดการเดินทางที่ใช้ในการคำนวณเส้นทางและทางอ้อม ค่าเริ่มต้นคือ DRIVE WALK และ BICYCLE รองรับเฉพาะ route_endpoints เท่านั้น ไม่รองรับ TRANSIT

ฟิลด์ Union route_spec ข้อกำหนดเส้นทาง: เส้นทางที่มีอยู่ โทเค็นเส้นทาง หรือปลายทางต้นทาง/ปลายทาง route_spec ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้น
encodedPolyline

string

สตริงเส้นประกอบที่เข้ารหัสซึ่งแสดงเส้นทาง ดู https://developers.google.com/maps/documentation/utilities/polylinealgorithm

retrievalToken

string

โทเค็นการดึงข้อมูลที่แสดงผลจากการเรียกใช้ ComputeRoutes ก่อนหน้าซึ่งแสดงถึงเส้นทาง

routeEndpoints

object (RouteEndpoints)

ปลายทางของเส้นทางที่ชัดเจน (ต้นทางและปลายทาง)

RouteEndpoints

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

object (Waypoint)

ต้องระบุ จุดเริ่มต้น (ที่อยู่ รหัสสถานที่ หรือพิกัดทางภูมิศาสตร์)

destination

object (Waypoint)

ต้องระบุ จุดปลายทาง (ที่อยู่ รหัสสถานที่ หรือพิกัดทางภูมิศาสตร์)

จุดบอกทาง

การแสดง 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]

RoutingPreference

ชุดค่าที่ระบุปัจจัยที่ต้องพิจารณาเมื่อคำนวณเส้นทาง

Enum
ROUTING_PREFERENCE_UNSPECIFIED ไม่ได้ระบุค่ากำหนดการกำหนดเส้นทาง ค่าเริ่มต้นคือ ROUTING_PREFERENCE_TRAFFIC_UNAWARE
ROUTING_PREFERENCE_TRAFFIC_UNAWARE คำนวณเส้นทางโดยไม่พิจารณาสภาพการจราจรแบบเรียลไทม์ เหมาะสำหรับกรณีที่สภาพการจราจรไม่สำคัญหรือไม่เกี่ยวข้อง การใช้ค่านี้จะทำให้เกิดเวลาในการตอบสนองต่ำที่สุด
ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL

คำนวณเส้นทางโดยพิจารณาสภาพการจราจรแบบเรียลไทม์เมื่อมีข้อมูลการจราจร สำหรับ TRANSIT จะใช้ข้อมูลขนส่งสาธารณะแบบเรียลไทม์ เช่น ความล่าช้าและการยกเลิก เมื่อมีให้บริการ

ค่านี้จะทริกเกอร์ระดับ Pro และทำให้มีค่าใช้จ่ายที่เรียกเก็บและเวลาในการตอบสนองสูงขึ้น

RouteTravelMode

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

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

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

ข้อความตอบกลับสำหรับ SearchAlongRoute

SearchAlongRouteResponse

การแสดง JSON
{
  "results": [
    {
      object (Result)
    }
  ],
  "summary": string,
  "contentToken": string
}
ช่อง
results[]

object (Result)

เอาต์พุตเท่านั้น รายการผลการค้นหาที่จัดอันดับซึ่งพบตามเส้นทาง

summary

string

เอาต์พุตเท่านั้น สรุปผลการค้นหาและข้อดีข้อเสียของการเปลี่ยนเส้นทางด้วยภาษาธรรมชาติ อาจมีการอ้างอิงแบบอิงตามศูนย์ (เช่น "[0]", "[1]") ที่อ้างอิงรายการที่เกี่ยวข้องในรายการ results

contentToken

string

เอาต์พุตเท่านั้น โทเค็นที่เข้ารหัสซึ่งรวมบริบทการค้นหาไว้และสามารถส่งไปยังบริการแสดงผลภาพ, SDK หรือชุดเครื่องมือ Agentic UI ของ Maps (A2UI) ของ Google Maps เพื่อแสดงคอมโพเนนต์ UI แบบอินเทอร์แอกทีฟสำหรับผลการค้นหาที่แสดงผล

ผลลัพธ์

การแสดง JSON
{
  "place": {
    object (PlaceView)
  },
  "detourSummary": {
    object (DetourSummary)
  }
}
ช่อง
place

object (PlaceView)

เอาต์พุตเท่านั้น รายละเอียดเกี่ยวกับสถานที่ที่พบตามเส้นทาง

detourSummary

object (DetourSummary)

เอาต์พุตเท่านั้น เมตริกการอ้อมที่เกิดขึ้นจากการเพิ่มสถานที่นี้เป็นจุดแวะพักระหว่างทาง ละเว้นหรือเว้นว่างไว้หากไม่สามารถคำนวณเมตริกการออกนอกเส้นทางได้

PlaceView

การแสดง JSON
{
  "place": string,
  "id": string,
  "googleMapsLinks": {
    object (GoogleMapsLinks)
  },
  "attribution": {
    object (Attribution)
  },

  // Union field _location can be only one of the following:
  "location": {
    object (LatLng)
  }
  // End of list of possible types for union field _location.
}
ช่อง
place

string

ชื่อทรัพยากรของสถานที่ที่เกี่ยวข้องในรูปแบบ "places/{id}"

id

string

รหัสสถานที่ของสถานที่ที่เกี่ยวข้อง

googleMapsLinks

object (GoogleMapsLinks)

ลิงก์เพื่อทริกเกอร์การดำเนินการต่างๆ ของ Google Maps

attribution

object (Attribution)

การระบุแหล่งที่มาที่จำเป็นต้องแสดงพร้อมกับสถานที่

ฟิลด์ Union _location

_location ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้น

location

object (LatLng)

ตำแหน่งของสถานที่นี้

LatLng

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

number

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

longitude

number

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

การแสดง JSON
{
  "directionsUrl": string,
  "placeUrl": string,
  "writeAReviewUrl": string,
  "reviewsUrl": string,
  "photosUrl": string
}
ช่อง
directionsUrl

string

ลิงก์เพื่อแสดงเส้นทางไปยังสถานที่ ลิงก์จะป้อนข้อมูลเฉพาะสถานที่ปลายทางและใช้โหมดการเดินทางเริ่มต้น DRIVE

placeUrl

string

ลิงก์เพื่อแสดงสถานที่นี้

writeAReviewUrl

string

ลิงก์สำหรับเขียนรีวิวสถานที่นี้ใน Google Maps

reviewsUrl

string

ลิงก์เพื่อแสดงรีวิวของสถานที่นี้ใน Google Maps

photosUrl

string

ลิงก์เพื่อแสดงรูปภาพของสถานที่นี้ใน Google Maps

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

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

string

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

url

string

URL ที่จะลิงก์ไปเพื่อระบุแหล่งที่มา

DetourSummary

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

string (Duration format)

ระยะเวลาเดินทางเพิ่มเติมที่ต้องใช้ในการอ้อมไปยังสถานที่นี้จากเส้นทางหลัก ระบบจะไม่ตั้งค่านี้หาก encoded_polyline เป็นผู้ระบุเส้นทาง

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

localizedDetourDistance

string

ระยะทางเพิ่มเติมที่ต้องใช้ในการอ้อมไปยังสถานที่นี้จากเส้นทางหลัก โดยจัดรูปแบบสำหรับการแสดงผลในภาษาของคำขอ (เช่น "1.2 ไมล์" หรือ "1.9 กม.")

ระยะเวลา

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

string (int64 format)

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

nanos

integer

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

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

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

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

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

คำแนะนำเกี่ยวกับการทำลาย: ❌ | คำแนะนำเกี่ยวกับนิจพล: ❌ | คำแนะนำเกี่ยวกับแบบอ่านอย่างเดียว: ✅ | คำแนะนำเกี่ยวกับโอเพนเวิลด์: ❌