工具:search_along_route
當使用者想尋找旅遊路線沿途的地點、商家或搜尋點時,請呼叫這項工具 (例如「前往太浩湖途中的加油站」、「舊金山和聖荷西之間的咖啡店」)。呼叫這項工具的費用高於 search_places,因此如要搜尋單一位置附近的地點,而非沿途地點,請改用 search_places。
輸入內容規定 (重要):
text_query(字串 - 必填):沿途搜尋內容的自然語言說明。- 示例:
'ev chargers'、'coffee'、'vegetarian restaurants'、'rest stops'。
- 示例:
路線規格 (必填,請提供下列其中一項):
retrieval_token(字串):先前compute_routes呼叫DRIVE路徑時傳回的retrieval_token。如果路線已計算完畢,建議優先使用這個方法。權杖的有效期限為 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(列舉 - 選用):DRIVE(預設)、WALK或BICYCLE。WALK和BICYCLE僅支援route_endpoints。不支援TRANSIT。routing_preference(列舉 - 選用):ROUTING_PREFERENCE_TRAFFIC_UNAWARE(預設):計算路線和繞道路線時,不考量即時路況。延遲時間最短。ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL:在可用時使用即時路況。不支援WALK或BICYCLE。只有在使用者詢問路況、塞車或因路況調整的繞道時間時,才設定這項屬性。延遲時間較長。
include_extended_details(布林值 - 選用):只有在要求需要定性評論洞察、特定菜單項目或餐點、氣氛、訪客提示或繁忙程度、電動車充電樁供應情形、油價或其他豐富的定性詳細資料時,才設為true。預設值為false。啟用這項功能可能會增加延遲時間。language_code(字串 - 選用):結果摘要和地點詳細資料的語言,例如en、ja、en-US。預設為en-US。region_code(字串 - 選用):使用者的 Unicode CLDR 區域代碼,例如US、CA。
工具呼叫操作說明:
- 每項結果都包含
detour_summary(如有),說明在該地點停留所產生的額外距離 (localized_detour_distance) 和額外時間 (detour_duration) (除非路線指定為encoded_polyline)。可用來比較不同選項。 - 回覆
summary可能包含從零開始的引用 (例如「[0]」),參照results中的項目。 - 建立基準的輸出內容必須歸因於來源,並在可用時使用每個
results[].place的attribution欄位。
下列程式碼範例說明如何使用 curl 呼叫 search_along_route 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": "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 |
必填。自然語言搜尋查詢 (例如「電動車充電樁」、「咖啡」)。 |
languageCode |
(選用步驟) 摘要和地點詳細資料的語言。預設為「en-US」。 |
regionCode |
(選用步驟) 地點的國家/地區代碼 (CLDR),例如「US」。 |
routingPreference |
(選用步驟) 選用的轉送偏好設定,可指定流量資料的使用方式。預設值為 TRAFFIC_UNAWARE。 |
includeExtendedDetails |
(選用步驟) 在回應中加入延伸地點詳細資料。 如果使用者要求需要豐富的質性洞察、即時動態或專業實體屬性,請將這個欄位設為 如要進行標準探索搜尋 (例如料理、商店類型)、位置/地址查詢、聯絡資訊、營業時間和標準中繼資料/設施,請保留 啟用這個欄位可能會導致延遲時間增加。 |
travelMode |
(選用步驟) 指定用於計算路線和繞道路線的交通工具。預設為 |
聯集欄位 route_spec。路線規格:現有路線、路線權杖,或起點/目的地端點。route_spec 只能是下列其中一項: |
|
encodedPolyline |
代表路線的編碼折線字串。請參閱 https://developers.google.com/maps/documentation/utilities/polylinealgorithm |
retrievalToken |
先前 ComputeRoutes 呼叫傳回的擷取權杖,代表路線。 |
routeEndpoints |
明確的路線端點 (起點和目的地)。 |
RouteEndpoints
| JSON 表示法 |
|---|
{ "origin": { object ( |
| 欄位 | |
|---|---|
origin |
必填。起點 (地址、地點 ID 或地理座標)。 |
destination |
必填。目的地點 (地址、地點 ID 或地理座標)。 |
途經點
| JSON 表示法 |
|---|
{ // Union field |
| 欄位 | |
|---|---|
聯集欄位 location_type。表示位置的不同方式。location_type 只能是下列其中一項: |
|
latLng |
使用地理座標指定的點。 |
placeId |
與路線控點相關聯的地點 ID。 |
address |
人類可讀的地址或 Plus Code。詳情請參閱 https://plus.codes。 |
LatLng
| JSON 表示法 |
|---|
{ "latitude": number, "longitude": number } |
| 欄位 | |
|---|---|
latitude |
緯度度數,必須介於 [-90.0, +90.0] 的範圍之間。 |
longitude |
經度度數,必須介於 [-180.0, +180.0] 的範圍之間。 |
RoutingPreference
一組值,指定計算路線時要考量的因素。
| 列舉 | |
|---|---|
ROUTING_PREFERENCE_UNSPECIFIED |
未指定轉送偏好設定。預設值為 ROUTING_PREFERENCE_TRAFFIC_UNAWARE。 |
ROUTING_PREFERENCE_TRAFFIC_UNAWARE |
計算路線時不考慮即時路況。適合路況不重要或不適用的情況。使用這個值可達到最低延遲時間。 |
ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL |
在有車流量資料的情況下,計算路線時會考量即時路況。 這個值會觸發 Pro 級別,並產生較高的已計費用和延遲時間。 |
RouteTravelMode
一組用於指定交通方式的值。
| 列舉 | |
|---|---|
ROUTE_TRAVEL_MODE_UNSPECIFIED |
未指定交通工具。預設值為 DRIVE。 |
DRIVE |
搭乘客車。 |
WALK |
步行。注意:WALK路線目前為 Beta 版,有時可能無法明確提供人行道或行人步道。只要應用程式顯示步行路線,就必須向使用者顯示這則警告。 |
BICYCLE |
騎單車。 |
TRANSIT |
搭乘大眾運輸工具。 |
輸出內容的結構定義
SearchAlongRoute 的回應訊息。
SearchAlongRouteResponse
| JSON 表示法 |
|---|
{
"results": [
{
object ( |
| 欄位 | |
|---|---|
results[] |
僅供輸出。沿途搜尋結果的排名清單。 |
summary |
僅供輸出。以自然語言摘要搜尋結果和繞道取捨。可能包含從零開始的引用 (例如「[0]」、「[1]」),參照 |
contentToken |
僅供輸出。加密權杖,封裝搜尋情境,可傳遞至 Google 地圖視覺算繪服務、SDK 或地圖代理 UI 工具包 (A2UI),為傳回的搜尋結果顯示互動式 UI 元件。 |
結果
| JSON 表示法 |
|---|
{ "place": { object ( |
| 欄位 | |
|---|---|
place |
僅供輸出。沿途地點的詳細資料。 |
detourSummary |
僅供輸出。將這個地點新增為路線上的中途停靠站,所產生的繞道指標。如果無法計算繞道指標,則會省略或留空。 |
PlaceView
| JSON 表示法 |
|---|
{ "place": string, "id": string, "googleMapsLinks": { object ( |
| 欄位 | |
|---|---|
place |
基礎地點的資源名稱,格式為「places/{id}」。 |
id |
基礎地點的地點 ID。 |
googleMapsLinks |
觸發不同 Google 地圖動作的連結。 |
attribution |
與地點一併顯示的必要出處。 |
聯集欄位
|
|
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 地圖上撰寫這個地點評論的連結。 |
reviewsUrl |
這個連結會顯示 Google 地圖上對這個地點的評論。 |
photosUrl |
這個連結會顯示 Google 地圖上這個地點的相片。 |
歸因
| JSON 表示法 |
|---|
{ "title": string, "url": string } |
| 欄位 | |
|---|---|
title |
要顯示的出處標題。 |
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 天/年 * 10000 年 |
nanos |
時間範圍內以奈秒解析度表示的有正負號秒數分數。如果時間長度不到一秒,則會以 0 |
工具註解
工具註解會傳送至 MCP 用戶端,說明特定工具的基本風險。大多數用戶端會將這些提示視為不受信任,但可用於決定何時向使用者傳送確認提示。
除了標題字串外,下列布林值提示的定義如下:
readOnlyHint:如果為 true,工具不會修改環境。預設值:false。destructiveHint:如果為 true,工具可以執行破壞性動作。如果設為 false,工具只能執行新增動作。預設值:true。idempotentHint:如果設為 true,則使用相同引數重複呼叫工具,不會對環境造成額外影響。預設值:false。openWorldHint:如果設為 true,工具就能與外部實體的「開放世界」互動。如果設為 false,工具只能與內部實體互動。舉例來說,網頁搜尋工具是開放世界,而記憶工具則不是。
Destructive Hint: ❌ | Idempotent Hint: ❌ | Read Only Hint: ✅ | Open World Hint: ❌