Công cụ: search_along_route
Gọi công cụ này khi người dùng muốn tìm địa điểm, doanh nghiệp hoặc điểm tham quan dọc theo tuyến đường du lịch (ví dụ: "trạm xăng trên đường đến Tahoe", "quán cà phê giữa San Francisco và San Jose"). Việc gọi công cụ này sẽ tốn nhiều chi phí hơn so với search_places, vì vậy, hãy sử dụng search_places khi tìm kiếm gần một vị trí thay vì dọc theo một tuyến đường.
Yêu cầu về dữ liệu đầu vào (QUAN TRỌNG):
text_query(chuỗi – BẮT BUỘC): Nội dung mô tả bằng ngôn ngữ tự nhiên về những gì cần tìm dọc theo tuyến đường.- Ví dụ:
'ev chargers','coffee','vegetarian restaurants','rest stops'.
- Ví dụ:
Quy cách tuyến đường (BẮT BUỘC – cung cấp chính xác MỘT trong các thông tin sau):
retrieval_token(chuỗi):retrieval_tokenđược trả về từ lệnh gọicompute_routestrước đó cho tuyếnDRIVE. Ưu tiên sử dụng phương thức này bất cứ khi nào tuyến đường đã được tính toán. Mã thông báo này có hiệu lực trong 10 phút.route_endpoints(đối tượng):originvàdestinationcủa tuyến đường. Bạn phải cung cấp từng thuộc tính bằng một trong các thuộc tínhaddress,lat_lnghoặcplace_id.- Ví dụ:
{"route_endpoints": {"origin": {"address": "San Francisco, CA"}, "destination": {"address": "Lake Tahoe, CA"}}}
- Ví dụ:
encoded_polyline(chuỗi): Một hình nhiều đường được mã hoá đại diện cho một tuyến đườngDRIVE.
travel_mode(enum – KHÔNG BẮT BUỘC):DRIVE(mặc định),WALKhoặcBICYCLE.WALKvàBICYCLEchỉ được hỗ trợ vớiroute_endpoints.TRANSITkhông được hỗ trợ.routing_preference(enum – KHÔNG BẮT BUỘC):ROUTING_PREFERENCE_TRAFFIC_UNAWARE(mặc định): tính toán tuyến đường và đường vòng mà không có thông tin giao thông theo thời gian thực. Độ trễ thấp nhất.ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL: sử dụng tình trạng giao thông trực tiếp khi có. Không hỗ trợWALKhoặcBICYCLE. CHỈ đặt tham số này khi người dùng hỏi về tình hình giao thông, tình trạng tắc nghẽn hoặc thời gian đi đường vòng đã điều chỉnh theo tình hình giao thông. Độ trễ cao hơn.
include_extended_details(boolean – KHÔNG BẮT BUỘC): Chỉ đặt thànhtruekhi yêu cầu cần có thông tin chi tiết về bài đánh giá định tính, các món trong thực đơn hoặc sản phẩm/dịch vụ, bầu không khí, mẹo hoặc mức độ đông đúc của khách truy cập, tình trạng còn chỗ của bộ sạc xe điện, giá xăng hoặc các thông tin chi tiết định tính phong phú khác. Giá trị mặc định làfalse. Việc bật tính năng này có thể làm tăng độ trễ.language_code(chuỗi – KHÔNG BẮT BUỘC): Ngôn ngữ cho thông tin tóm tắt về kết quả và thông tin chi tiết về địa điểm, ví dụ:en,ja,en-US. Giá trị mặc định làen-US.region_code(chuỗi – KHÔNG BẮT BUỘC): Mã khu vực CLDR Unicode của người dùng, ví dụ:US,CA.
Hướng dẫn về lệnh gọi công cụ:
- Mỗi kết quả bao gồm một
detour_summary(nếu có) mô tả quãng đường tăng thêm (localized_detour_distance) và thời gian tăng thêm (detour_duration) do dừng lại ở địa điểm đó, trừ phi tuyến đường được cung cấp dưới dạngencoded_polyline. Hãy dùng tính năng này để so sánh các lựa chọn. - Câu trả lời
summarycó thể chứa các trích dẫn dựa trên số 0 (ví dụ: "[0]") tham chiếu đến các mục trongresults. - Kết quả dựa trên dữ liệu thực tế phải được ghi nhận cho nguồn bằng cách sử dụng trường
attributioncủa mỗiresults[].place(nếu có).
Mã mẫu sau đây cho biết cách sử dụng curl để gọi công cụ MCP search_along_route.
| Yêu cầu 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 }' |
Giản đồ đầu vào
Thông báo yêu cầu cho SearchAlongRoute.
SearchAlongRouteRequest
| Biểu diễn dưới dạng JSON |
|---|
{ "textQuery": string, "languageCode": string, "regionCode": string, "routingPreference": enum ( |
| Trường | |
|---|---|
textQuery |
Bắt buộc. Cụm từ tìm kiếm bằng ngôn ngữ tự nhiên (ví dụ: "bộ sạc xe điện", "cà phê"). |
languageCode |
Không bắt buộc. Ngôn ngữ cho bản tóm tắt và Place Details. Giá trị mặc định là "en-US". |
regionCode |
Không bắt buộc. Mã quốc gia/khu vực (CLDR) của vị trí (ví dụ: "US"). |
routingPreference |
Không bắt buộc. Lựa chọn ưu tiên về định tuyến (không bắt buộc) chỉ định cách sử dụng dữ liệu lưu lượng truy cập. Giá trị mặc định là TRAFFIC_UNAWARE. |
includeExtendedDetails |
Không bắt buộc. Bao gồm thông tin chi tiết mở rộng về Place Details trong phản hồi. Đặt trường này thành Để trống Việc bật trường này có thể làm tăng độ trễ. |
travelMode |
Không bắt buộc. Chỉ định phương tiện di chuyển dùng để tính toán tuyến đường và đường vòng. Giá trị mặc định là |
Trường nhóm route_spec. Thông số kỹ thuật của tuyến đường: tuyến đường hiện có, mã thông báo tuyến đường hoặc điểm cuối của điểm xuất phát/điểm đến. route_spec chỉ có thể là một trong những trạng thái sau: |
|
encodedPolyline |
Một chuỗi hình nhiều đường được mã hoá đại diện cho tuyến đường. Xem https://developers.google.com/maps/documentation/utilities/polylinealgorithm |
retrievalToken |
Mã truy xuất được trả về từ lệnh gọi ComputeRoutes trước đó đại diện cho tuyến đường. |
routeEndpoints |
Điểm cuối của tuyến đường rõ ràng (điểm xuất phát và điểm đến). |
RouteEndpoints
| Biểu diễn dưới dạng JSON |
|---|
{ "origin": { object ( |
| Trường | |
|---|---|
origin |
Bắt buộc. Điểm xuất phát (địa chỉ, Mã địa điểm hoặc toạ độ địa lý). |
destination |
Bắt buộc. Điểm đến (địa chỉ, Mã địa điểm hoặc toạ độ địa lý). |
Waypoint
| Biểu diễn dưới dạng JSON |
|---|
{ // Union field |
| Trường | |
|---|---|
Trường nhóm location_type. Các cách khác nhau để thể hiện một vị trí. location_type chỉ có thể là một trong những trạng thái sau: |
|
latLng |
Một điểm được chỉ định bằng toạ độ địa lý. |
placeId |
Mã địa điểm liên kết với điểm tham chiếu. |
address |
Địa chỉ mà con người có thể đọc được hoặc mã cộng. Hãy xem https://plus.codes để biết thông tin chi tiết. |
LatLng
| Biểu diễn dưới dạng JSON |
|---|
{ "latitude": number, "longitude": number } |
| Trường | |
|---|---|
latitude |
Vĩ độ tính bằng độ. Giá trị này phải nằm trong khoảng [-90,0, +90,0]. |
longitude |
Kinh độ tính bằng độ. Giá trị này phải nằm trong khoảng [-180,0, +180,0]. |
RoutingPreference
Một tập hợp các giá trị chỉ định các yếu tố cần xem xét khi tính toán tuyến đường.
| Enum | |
|---|---|
ROUTING_PREFERENCE_UNSPECIFIED |
Chưa chỉ định lựa chọn ưu tiên về định tuyến. Giá trị mặc định là ROUTING_PREFERENCE_TRAFFIC_UNAWARE. |
ROUTING_PREFERENCE_TRAFFIC_UNAWARE |
Tính toán tuyến đường mà không xem xét tình trạng giao thông trực tiếp. Phù hợp khi tình trạng giao thông không quan trọng hoặc không áp dụng. Việc sử dụng giá trị này sẽ tạo ra độ trễ thấp nhất. |
ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL |
Tính toán tuyến đường dựa trên tình trạng giao thông trực tiếp (khi có dữ liệu giao thông). Đối với Giá trị này sẽ kích hoạt cấp Pro và làm tăng chi phí thanh toán cũng như độ trễ. |
RouteTravelMode
Một tập hợp các giá trị dùng để chỉ định phương thức di chuyển.
| Enum | |
|---|---|
ROUTE_TRAVEL_MODE_UNSPECIFIED |
Chưa chỉ định phương thức di chuyển. Giá trị mặc định là DRIVE. |
DRIVE |
Đi bằng xe chở khách. |
WALK |
Đi bộ. LƯU Ý: Các tuyến đường dành cho WALK đang trong giai đoạn thử nghiệm và đôi khi có thể thiếu vỉa hè hoặc lối đi rõ ràng cho người đi bộ. Bạn phải hiển thị cảnh báo này cho người dùng đối với tất cả thông tin về đường đi bộ mà bạn hiển thị trong ứng dụng. |
BICYCLE |
Đi bằng xe đạp. |
TRANSIT |
Đi bằng phương tiện công cộng. |
Giản đồ đầu ra
Thông báo phản hồi cho SearchAlongRoute.
SearchAlongRouteResponse
| Biểu diễn dưới dạng JSON |
|---|
{
"results": [
{
object ( |
| Trường | |
|---|---|
results[] |
Chỉ có đầu ra. Danh sách kết quả tìm kiếm được xếp hạng dọc theo tuyến đường. |
summary |
Chỉ có đầu ra. Tóm tắt kết quả tìm kiếm và các lựa chọn thay thế bằng ngôn ngữ tự nhiên. Có thể chứa các trích dẫn dựa trên số 0 (ví dụ: "[0]", "[1]") tham chiếu đến các mục tương ứng trong danh sách |
contentToken |
Chỉ có đầu ra. Một mã thông báo đã mã hoá, chứa bối cảnh tìm kiếm và có thể được truyền đến các dịch vụ kết xuất hình ảnh, SDK của Google Maps hoặc Maps Agentic UI Toolkit (A2UI) để hiển thị các thành phần giao diện người dùng tương tác cho kết quả tìm kiếm được trả về. |
Kết quả
| Biểu diễn dưới dạng JSON |
|---|
{ "place": { object ( |
| Trường | |
|---|---|
place |
Chỉ có đầu ra. Thông tin chi tiết về địa điểm tìm thấy dọc theo tuyến đường. |
detourSummary |
Chỉ có đầu ra. Các chỉ số về đường vòng phát sinh khi thêm địa điểm này làm điểm dừng trung gian dọc theo tuyến đường. Bỏ qua hoặc để trống nếu không thể tính toán chỉ số đường vòng. |
PlaceView
| Biểu diễn dưới dạng JSON |
|---|
{ "place": string, "id": string, "googleMapsLinks": { object ( |
| Trường | |
|---|---|
place |
Tên tài nguyên của địa điểm cơ bản, ở định dạng "places/{id}". |
id |
Mã địa điểm của địa điểm cơ bản. |
googleMapsLinks |
Đường liên kết để kích hoạt các hành động khác nhau trên Google Maps. |
attribution |
Thông tin ghi nhận tác giả bắt buộc phải hiển thị cùng với địa điểm. |
Trường nhóm
|
|
location |
Vị trí của địa điểm này. |
LatLng
| Biểu diễn dưới dạng JSON |
|---|
{ "latitude": number, "longitude": number } |
| Trường | |
|---|---|
latitude |
Vĩ độ tính bằng độ. Giá trị này phải nằm trong khoảng [-90,0, +90,0]. |
longitude |
Kinh độ tính bằng độ. Giá trị này phải nằm trong khoảng [-180,0, +180,0]. |
GoogleMapsLinks
| Biểu diễn dưới dạng JSON |
|---|
{ "directionsUrl": string, "placeUrl": string, "writeAReviewUrl": string, "reviewsUrl": string, "photosUrl": string } |
| Trường | |
|---|---|
directionsUrl |
Đường liên kết để hiện đường đi đến địa điểm. Đường liên kết này chỉ điền sẵn vị trí của điểm đến và sử dụng phương tiện di chuyển mặc định |
placeUrl |
Đường liên kết để hiển thị địa điểm này. |
writeAReviewUrl |
Một đường liên kết để viết bài đánh giá về địa điểm này trên Google Maps. |
reviewsUrl |
Đường liên kết để xem các bài đánh giá về địa điểm này trên Google Maps. |
photosUrl |
Đường liên kết để xem ảnh về địa điểm này trên Google Maps. |
Phân bổ
| Biểu diễn dưới dạng JSON |
|---|
{ "title": string, "url": string } |
| Trường | |
|---|---|
title |
Tiêu đề sẽ hiển thị cho thông tin ghi nhận tác giả. |
url |
URL để liên kết đến thông tin ghi nhận tác giả. |
DetourSummary
| Biểu diễn dưới dạng JSON |
|---|
{ "detourDuration": string, "localizedDetourDistance": string } |
| Trường | |
|---|---|
detourDuration |
Thời gian di chuyển cần thêm để rẽ vào địa điểm này từ tuyến đường chính. Giá trị này không được đặt nếu tuyến đường được chỉ định bằng Thời lượng tính bằng giây, có tối đa 9 chữ số thập phân, kết thúc bằng " |
localizedDetourDistance |
Khoảng cách bổ sung cần thiết để đi đường vòng đến địa điểm này từ tuyến đường chính, được định dạng để hiển thị bằng ngôn ngữ yêu cầu (ví dụ: "1,2 dặm" hoặc "1,9 km"). |
Thời lượng
| Biểu diễn dưới dạng JSON |
|---|
{ "seconds": string, "nanos": integer } |
| Trường | |
|---|---|
seconds |
Số giây có dấu của khoảng thời gian. Phải nằm trong khoảng từ -315.576.000.000 đến +315.576.000.000. Lưu ý: các giới hạn này được tính từ: 60 giây/phút * 60 phút/giờ * 24 giờ/ngày * 365,25 ngày/năm * 10.000 năm |
nanos |
Phân số có dấu của một giây ở độ phân giải nano giây của khoảng thời gian. Thời lượng dưới một giây được biểu thị bằng trường |
Chú thích về công cụ
Chú thích về công cụ được gửi đến ứng dụng MCP để mô tả rủi ro cơ bản của một công cụ nhất định. Hầu hết ứng dụng đều coi những gợi ý này là không đáng tin cậy, nhưng có thể dùng chúng để quyết định thời điểm gửi lời nhắc xác nhận cho người dùng.
Cùng với chuỗi tiêu đề, các gợi ý boolean sau đây được xác định như sau:
readOnlyHint: Nếu đúng, công cụ sẽ không sửa đổi môi trường của nó. Mặc định: false.destructiveHint: Nếu đúng, thì công cụ có thể thực hiện các hành động có tính huỷ diệt. Nếu là false, thì công cụ chỉ có thể thực hiện các hành động bổ sung. Mặc định: true.idempotentHint: Nếu đúng, thì việc gọi công cụ nhiều lần với cùng một đối số sẽ không có thêm hiệu ứng nào đối với môi trường của công cụ đó. Mặc định: false.openWorldHint: Nếu đúng, thì công cụ này có thể tương tác với "thế giới mở" của các thực thể bên ngoài. Nếu là false, thì công cụ chỉ có thể tương tác với các thực thể nội bộ. Ví dụ: công cụ tìm kiếm trên web sẽ là công cụ thế giới mở, còn công cụ ghi nhớ sẽ không phải là công cụ thế giới mở.
Gợi ý về hành động huỷ diệt: ❌ | Gợi ý về hành động luỹ đẳng: ❌ | Gợi ý về hành động chỉ đọc: ✅ | Gợi ý về hành động trong thế giới mở: ❌