เครื่องมือ: search_along_route
เรียกใช้เครื่องมือนี้เมื่อผู้ใช้ต้องการค้นหาสถานที่ ธุรกิจ หรือจุดที่น่าสนใจตามเส้นทางการเดินทาง (เช่น "ปั๊มน้ำมันระหว่างทางไป Tahoe" "ร้านกาแฟระหว่าง SF กับ San Jose") การเรียกใช้เครื่องมือนี้มีค่าใช้จ่ายสูงกว่า search_places ดังนั้นให้ใช้ search_places แทนเมื่อค้นหาใกล้กับสถานที่เดียวแทนที่จะค้นหาตามเส้นทาง
ข้อกำหนดในการป้อนข้อมูล (สำคัญ):
text_query(สตริง - บังคับ): คำอธิบายภาษาธรรมชาติของสิ่งที่ต้องการค้นหาตามเส้นทาง- ตัวอย่าง:
'ev chargers','coffee','vegetarian restaurants','rest stops'
- ตัวอย่าง:
ข้อกำหนดเส้นทาง (บังคับ - ระบุรายการต่อไปนี้เพียง 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
travel_mode(enum - ไม่บังคับ):DRIVE(ค่าเริ่มต้น),WALKหรือBICYCLEWALKและBICYCLEรองรับเฉพาะroute_endpointsเท่านั้น ไม่รองรับTRANSITrouting_preference(enum - ไม่บังคับ):ROUTING_PREFERENCE_TRAFFIC_UNAWARE(ค่าเริ่มต้น): คำนวณเส้นทางและทางอ้อมโดยไม่มีข้อมูลการจราจรแบบเรียลไทม์ เวลาในการตอบสนองต่ำที่สุดROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL: ใช้สภาพการจราจรแบบเรียลไทม์เมื่อพร้อมใช้งาน ไม่รองรับWALKหรือBICYCLEตั้งค่านี้เมื่อผู้ใช้ถามเกี่ยวกับการจราจร ความแออัด หรือเวลาในการเปลี่ยนเส้นทางที่ปรับตามการจราจรเท่านั้น ซึ่งจะทำให้เกิดเวลาในการตอบสนองที่สูงขึ้น
include_extended_details(บูลีน - ไม่บังคับ): ตั้งค่าเป็นtrueเฉพาะเมื่อคำขอต้องการข้อมูลเชิงลึกเกี่ยวกับรีวิวเชิงคุณภาพ รายการเมนูหรือข้อเสนอที่เฉพาะเจาะจง บรรยากาศ เคล็ดลับสำหรับผู้เข้าชมหรือปริมาณผู้เข้าใช้บริการ ความพร้อมใช้งานของที่ชาร์จ EV ราคาน้ำมัน หรือรายละเอียดเชิงคุณภาพอื่นๆ ที่สมบูรณ์ ค่าเริ่มต้นคือfalseการเปิดใช้ฟีเจอร์นี้อาจเพิ่มเวลาในการตอบสนองlanguage_code(สตริง - ไม่บังคับ): ภาษาสำหรับสรุปผลการค้นหาและรายละเอียดสถานที่ เช่นen,ja,en-USค่าเริ่มต้นคือen-USregion_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 ( |
| ช่อง | |
|---|---|
textQuery |
ต้องระบุ คำค้นหาโดยใช้ภาษาธรรมชาติ (เช่น "ที่ชาร์จ EV" "กาแฟ") |
languageCode |
ไม่บังคับ ภาษาสำหรับข้อมูลสรุปและรายละเอียดสถานที่ ค่าเริ่มต้นคือ "en-US" |
regionCode |
ไม่บังคับ รหัสประเทศ/ภูมิภาค (CLDR) ของสถานที่ตั้ง (เช่น "US") |
routingPreference |
ไม่บังคับ ค่ากำหนดการกำหนดเส้นทางที่ไม่บังคับซึ่งระบุวิธีใช้ข้อมูลการจราจร ค่าเริ่มต้นคือ TRAFFIC_UNAWARE |
includeExtendedDetails |
ไม่บังคับ รวมรายละเอียดสถานที่เพิ่มเติมในการตอบกลับ ตั้งค่าฟิลด์นี้เป็น ปล่อย การเปิดใช้ช่องนี้อาจทำให้เวลาในการตอบสนองสูงขึ้น |
travelMode |
ไม่บังคับ ระบุโหมดการเดินทางที่ใช้ในการคำนวณเส้นทางและทางอ้อม ค่าเริ่มต้นคือ |
ฟิลด์ Union route_spec ข้อกำหนดเส้นทาง: เส้นทางที่มีอยู่ โทเค็นเส้นทาง หรือปลายทางต้นทาง/ปลายทาง route_spec ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้น |
|
encodedPolyline |
สตริงเส้นประกอบที่เข้ารหัสซึ่งแสดงเส้นทาง ดู https://developers.google.com/maps/documentation/utilities/polylinealgorithm |
retrievalToken |
โทเค็นการดึงข้อมูลที่แสดงผลจากการเรียกใช้ ComputeRoutes ก่อนหน้าซึ่งแสดงถึงเส้นทาง |
routeEndpoints |
ปลายทางของเส้นทางที่ชัดเจน (ต้นทางและปลายทาง) |
RouteEndpoints
| การแสดง JSON |
|---|
{ "origin": { object ( |
| ช่อง | |
|---|---|
origin |
ต้องระบุ จุดเริ่มต้น (ที่อยู่ รหัสสถานที่ หรือพิกัดทางภูมิศาสตร์) |
destination |
ต้องระบุ จุดปลายทาง (ที่อยู่ รหัสสถานที่ หรือพิกัดทางภูมิศาสตร์) |
จุดบอกทาง
| การแสดง JSON |
|---|
{ // Union field |
| ช่อง | |
|---|---|
ฟิลด์ Union location_type วิธีต่างๆ ในการแสดงสถานที่ตั้ง location_type ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้น |
|
latLng |
จุดที่ระบุโดยใช้พิกัดทางภูมิศาสตร์ |
placeId |
รหัสสถานที่ที่เชื่อมโยงกับจุดอ้างอิง |
address |
ที่อยู่ที่มนุษย์อ่านได้หรือ Plus Code ดูรายละเอียดได้ที่ https://plus.codes |
LatLng
| การแสดง JSON |
|---|
{ "latitude": number, "longitude": number } |
| ช่อง | |
|---|---|
latitude |
ละติจูดในหน่วยองศา โดยต้องอยู่ในช่วง [-90.0, +90.0] |
longitude |
ลองจิจูดเป็นองศา โดยต้องอยู่ในช่วง [-180.0, +180.0] |
RoutingPreference
ชุดค่าที่ระบุปัจจัยที่ต้องพิจารณาเมื่อคำนวณเส้นทาง
| Enum | |
|---|---|
ROUTING_PREFERENCE_UNSPECIFIED |
ไม่ได้ระบุค่ากำหนดการกำหนดเส้นทาง ค่าเริ่มต้นคือ ROUTING_PREFERENCE_TRAFFIC_UNAWARE |
ROUTING_PREFERENCE_TRAFFIC_UNAWARE |
คำนวณเส้นทางโดยไม่พิจารณาสภาพการจราจรแบบเรียลไทม์ เหมาะสำหรับกรณีที่สภาพการจราจรไม่สำคัญหรือไม่เกี่ยวข้อง การใช้ค่านี้จะทำให้เกิดเวลาในการตอบสนองต่ำที่สุด |
ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL |
คำนวณเส้นทางโดยพิจารณาสภาพการจราจรแบบเรียลไทม์เมื่อมีข้อมูลการจราจร สำหรับ ค่านี้จะทริกเกอร์ระดับ Pro และทำให้มีค่าใช้จ่ายที่เรียกเก็บและเวลาในการตอบสนองสูงขึ้น |
RouteTravelMode
ชุดค่าที่ใช้ระบุโหมดการเดินทาง
| Enum | |
|---|---|
ROUTE_TRAVEL_MODE_UNSPECIFIED |
ไม่ได้ระบุโหมดการเดินทาง ค่าเริ่มต้นคือ DRIVE |
DRIVE |
เดินทางโดยรถยนต์นั่งส่วนบุคคล |
WALK |
เดินทางด้วยการเดิน หมายเหตุ: เส้นทางWALKอยู่ในเวอร์ชันเบต้า และบางครั้งอาจไม่มีทางเท้าหรือทางเดินเท้าที่ชัดเจน คุณต้องแสดงคำเตือนนี้แก่ผู้ใช้สำหรับการเดินทั้งหมดที่แสดงในแอป |
BICYCLE |
เดินทางโดยจักรยาน |
TRANSIT |
เดินทางโดยขนส่งสาธารณะ |
สคีมาเอาต์พุต
ข้อความตอบกลับสำหรับ SearchAlongRoute
SearchAlongRouteResponse
| การแสดง JSON |
|---|
{
"results": [
{
object ( |
| ช่อง | |
|---|---|
results[] |
เอาต์พุตเท่านั้น รายการผลการค้นหาที่จัดอันดับซึ่งพบตามเส้นทาง |
summary |
เอาต์พุตเท่านั้น สรุปผลการค้นหาและข้อดีข้อเสียของการเปลี่ยนเส้นทางด้วยภาษาธรรมชาติ อาจมีการอ้างอิงแบบอิงตามศูนย์ (เช่น "[0]", "[1]") ที่อ้างอิงรายการที่เกี่ยวข้องในรายการ |
contentToken |
เอาต์พุตเท่านั้น โทเค็นที่เข้ารหัสซึ่งรวมบริบทการค้นหาไว้และสามารถส่งไปยังบริการแสดงผลภาพ, SDK หรือชุดเครื่องมือ Agentic UI ของ Maps (A2UI) ของ Google Maps เพื่อแสดงคอมโพเนนต์ UI แบบอินเทอร์แอกทีฟสำหรับผลการค้นหาที่แสดงผล |
ผลลัพธ์
| การแสดง JSON |
|---|
{ "place": { object ( |
| ช่อง | |
|---|---|
place |
เอาต์พุตเท่านั้น รายละเอียดเกี่ยวกับสถานที่ที่พบตามเส้นทาง |
detourSummary |
เอาต์พุตเท่านั้น เมตริกการอ้อมที่เกิดขึ้นจากการเพิ่มสถานที่นี้เป็นจุดแวะพักระหว่างทาง ละเว้นหรือเว้นว่างไว้หากไม่สามารถคำนวณเมตริกการออกนอกเส้นทางได้ |
PlaceView
| การแสดง JSON |
|---|
{ "place": string, "id": string, "googleMapsLinks": { object ( |
| ช่อง | |
|---|---|
place |
ชื่อทรัพยากรของสถานที่ที่เกี่ยวข้องในรูปแบบ "places/{id}" |
id |
รหัสสถานที่ของสถานที่ที่เกี่ยวข้อง |
googleMapsLinks |
ลิงก์เพื่อทริกเกอร์การดำเนินการต่างๆ ของ Google Maps |
attribution |
การระบุแหล่งที่มาที่จำเป็นต้องแสดงพร้อมกับสถานที่ |
ฟิลด์ Union
|
|
location |
ตำแหน่งของสถานที่นี้ |
LatLng
| การแสดง JSON |
|---|
{ "latitude": number, "longitude": number } |
| ช่อง | |
|---|---|
latitude |
ละติจูดในหน่วยองศา โดยต้องอยู่ในช่วง [-90.0, +90.0] |
longitude |
ลองจิจูดเป็นองศา โดยต้องอยู่ในช่วง [-180.0, +180.0] |
GoogleMapsLinks
| การแสดง JSON |
|---|
{ "directionsUrl": string, "placeUrl": string, "writeAReviewUrl": string, "reviewsUrl": string, "photosUrl": string } |
| ช่อง | |
|---|---|
directionsUrl |
ลิงก์เพื่อแสดงเส้นทางไปยังสถานที่ ลิงก์จะป้อนข้อมูลเฉพาะสถานที่ปลายทางและใช้โหมดการเดินทางเริ่มต้น |
placeUrl |
ลิงก์เพื่อแสดงสถานที่นี้ |
writeAReviewUrl |
ลิงก์สำหรับเขียนรีวิวสถานที่นี้ใน Google Maps |
reviewsUrl |
ลิงก์เพื่อแสดงรีวิวของสถานที่นี้ใน Google Maps |
photosUrl |
ลิงก์เพื่อแสดงรูปภาพของสถานที่นี้ใน Google Maps |
การระบุแหล่งที่มา
| การแสดง JSON |
|---|
{ "title": string, "url": string } |
| ช่อง | |
|---|---|
title |
ชื่อที่จะแสดงสำหรับการระบุแหล่งที่มา |
url |
URL ที่จะลิงก์ไปเพื่อระบุแหล่งที่มา |
DetourSummary
| การแสดง JSON |
|---|
{ "detourDuration": string, "localizedDetourDistance": string } |
| ช่อง | |
|---|---|
detourDuration |
ระยะเวลาเดินทางเพิ่มเติมที่ต้องใช้ในการอ้อมไปยังสถานที่นี้จากเส้นทางหลัก ระบบจะไม่ตั้งค่านี้หาก ระยะเวลาเป็นวินาทีที่มีทศนิยมไม่เกิน 9 หลัก โดยลงท้ายด้วย " |
localizedDetourDistance |
ระยะทางเพิ่มเติมที่ต้องใช้ในการอ้อมไปยังสถานที่นี้จากเส้นทางหลัก โดยจัดรูปแบบสำหรับการแสดงผลในภาษาของคำขอ (เช่น "1.2 ไมล์" หรือ "1.9 กม.") |
ระยะเวลา
| การแสดง JSON |
|---|
{ "seconds": string, "nanos": integer } |
| ช่อง | |
|---|---|
seconds |
วินาทีที่ลงนามของช่วงเวลา ต้องอยู่ระหว่าง -315,576,000,000 ถึง +315,576,000,000 หมายเหตุ: ขอบเขตเหล่านี้คำนวณจาก 60 วินาที/นาที * 60 นาที/ชั่วโมง * 24 ชั่วโมง/วัน * 365.25 วัน/ปี * 10,000 ปี |
nanos |
เศษส่วนของวินาทีที่มีเครื่องหมายที่ความละเอียดระดับนาโนวินาทีของช่วงเวลา ระยะเวลาที่น้อยกว่า 1 วินาทีจะแสดงด้วยช่อง |
คำอธิบายประกอบเครื่องมือ
ระบบจะส่งคำอธิบายประกอบเครื่องมือไปยังไคลเอ็นต์ MCP เพื่ออธิบายความเสี่ยงพื้นฐานของเครื่องมือหนึ่งๆ ไคลเอ็นต์ส่วนใหญ่จะถือว่าคำแนะนำเหล่านี้ไม่น่าเชื่อถือ แต่สามารถใช้เพื่อตัดสินใจว่าจะส่งข้อความแจ้งยืนยันไปยังผู้ใช้เมื่อใด
นอกจากสตริงชื่อแล้ว ยังมีการกำหนดคำแนะนำบูลีนต่อไปนี้ด้วย
readOnlyHint: หากเป็นจริง เครื่องมือจะไม่แก้ไขสภาพแวดล้อมของตนเอง ค่าเริ่มต้น: falsedestructiveHint: หากเป็น "จริง" เครื่องมือจะดำเนินการที่ส่งผลกระทบต่อข้อมูลได้ หากเป็นเท็จ เครื่องมือจะดำเนินการได้เฉพาะการดำเนินการแบบเพิ่มเท่านั้น ค่าเริ่มต้น: trueidempotentHint: หากเป็นจริง การเรียกใช้เครื่องมือซ้ำๆ ด้วยอาร์กิวเมนต์เดียวกันจะไม่มีผลเพิ่มเติมต่อสภาพแวดล้อม ค่าเริ่มต้น: falseopenWorldHint: หากเป็น "จริง" เครื่องมือจะโต้ตอบกับเอนทิตีภายนอกแบบ "โอเพนเวิลด์" ได้ หากเป็นเท็จ เครื่องมือจะโต้ตอบได้เฉพาะกับเอนทิตีภายในเท่านั้น ตัวอย่างเช่น เครื่องมือค้นเว็บจะเป็นแบบโอเพนเวิลด์ ส่วนเครื่องมือความทรงจำจะไม่ใช่แบบโอเพนเวิลด์
คำแนะนำเกี่ยวกับการทำลาย: ❌ | คำแนะนำเกี่ยวกับนิจพล: ❌ | คำแนะนำเกี่ยวกับแบบอ่านอย่างเดียว: ✅ | คำแนะนำเกี่ยวกับโอเพนเวิลด์: ❌