ツール: search_along_route
ユーザーが旅行ルート沿いの場所、店舗、スポットを検索したい場合(例: 「タホに向かう途中のガソリンスタンド」、「サンフランシスコとサンノゼの間のカフェ」)に、このツールを呼び出します。このツールを呼び出すと、search_places よりも費用が高くなります。そのため、ルート沿いではなく、1 つの場所の近くを検索する場合は、代わりに search_places を使用してください。
入力要件(重要):
text_query(文字列 - 必須): ルート沿いで検索する内容の自然言語による説明。- 例:
'ev chargers'、'coffee'、'vegetarian restaurants'、'rest stops'
- 例:
ルートの指定(必須 - 次のいずれか 1 つのみを指定):
retrieval_token(文字列):DRIVEルートの以前のcompute_routes呼び出しによって返された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(ブール値 - 省略可): リクエストに、定性的なクチコミの分析情報、特定のメニュー項目やサービス、雰囲気、訪問者のヒントや混雑状況、EV 充電器の利用可能性、ガソリン価格、その他の詳細な定性的情報が必要な場合にのみ、trueに設定します。デフォルトではfalseに設定されます。有効にすると、レイテンシが増加する可能性があります。language_code(文字列 - 省略可): 結果の概要と Place Details の言語(en、ja、en-USなど)。デフォルトはen-USです。region_code(文字列 - 省略可): ユーザーの Unicode CLDR リージョン コード(例:US、CA)。
ツール呼び出しの手順:
- 各結果には、その場所に立ち寄ることで発生する追加の距離(
localized_detour_distance)と、ルートがencoded_polylineとして指定されていない場合は追加の時間(detour_duration)を記述するdetour_summary(利用可能な場合)が含まれます。オプションの比較に使用します。 - レスポンス
summaryには、resultsのエントリを参照する 0 ベースの引用(「[0]」など)が含まれる場合があります。 - グラウンディングされた出力は、利用可能な場合は各
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 |
必須。自然言語検索クエリ(例: 「EV 充電器」、「コーヒー」)。 |
languageCode |
省略可。要約と Place Details の言語。デフォルトは「en-US」です。 |
regionCode |
省略可。地域の国 / 地域コード(CLDR)(例: 「US」)。 |
routingPreference |
省略可。交通状況データの使用方法を指定する、オプションのルーティング設定。デフォルトは TRAFFIC_UNAWARE です。 |
includeExtendedDetails |
省略可。レスポンスに拡張された Place Details が含まれます。 ユーザー リクエストに、豊富な定性的分析情報、リアルタイムの動向、または特殊なエンティティ属性(定性的なレビュー、顧客の感情、フィードバックなど)が必要な場合は、このフィールドを 標準の検索(料理、店舗の種類など)、場所 / 住所の検索、連絡先情報、営業時間、標準のメタデータ / 設備については、 このフィールドを有効にすると、レイテンシが増加する可能性があります。 |
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 ルートはベータ版であり、明確な歩道や歩行者用通路が欠落している場合があります。アプリに表示するすべての徒歩ルートについて、この警告をユーザーに表示する必要があります。 |
BICYCLE |
自転車で移動する。 |
TRANSIT |
公共交通機関で移動する。 |
出力スキーマ
SearchAlongRoute のレスポンス メッセージ。
SearchAlongRouteResponse
| JSON 表現 |
|---|
{
"results": [
{
object ( |
| フィールド | |
|---|---|
results[] |
出力専用。ルート沿いで見つかった検索結果のランク付けされたリスト。 |
summary |
出力専用。検索結果と迂回ルートのトレードオフを自然言語で要約。 |
contentToken |
出力専用。検索コンテキストをカプセル化する暗号化されたトークン。Google マップのビジュアル レンダリング サービス、SDK、または Google マップ エージェント型 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 |
帰属表示のリンク先 URL。 |
DetourSummary
| JSON 表現 |
|---|
{ "detourDuration": string, "localizedDetourDistance": string } |
| フィールド | |
|---|---|
detourDuration |
メインルートからこの場所に迂回するために必要な追加の移動時間。ルートが
|
localizedDetourDistance |
メインルートからこの場所まで迂回するために必要な追加の距離。リクエスト言語で表示されるようにフォーマットされています(例: 「1.2 マイル」または「1.9 km」)。 |
所要時間
| JSON 表現 |
|---|
{ "seconds": string, "nanos": integer } |
| フィールド | |
|---|---|
seconds |
期間の秒数(符号付き)。-315,576,000,000 ~+315,576,000,000 の範囲(境界を含む)になります。注: これらの境界は、60 秒/分 * 60 分/時間 * 24 時間/日 * 365.25 日/年 * 10,000 年から計算されます。 |
nanos |
期間のナノ秒分解能による、秒の符号付き小数以下部分。1 秒未満の期間は、0 の |
ツールのアノテーション
ツールのアノテーションは、特定のツールの基本的なリスクを説明するために MCP クライアントに送信されます。ほとんどのクライアントは、これらのヒントを信頼できないものとして扱いますが、確認プロンプトをユーザーに送信するタイミングを決定するために使用できます。
タイトル文字列とともに、次のブール値ヒントが定義されています。
readOnlyHint: true の場合、ツールは環境を変更しません。デフォルトは false です。destructiveHint: true の場合、ツールは破壊的なアクションを実行できます。false の場合、ツールは追加アクションのみを実行できます。デフォルト値は true です。idempotentHint: true の場合、同じ引数でツールを繰り返し呼び出しても、環境に副次的影響は発生しません。デフォルトは false です。openWorldHint: true の場合、ツールは外部エンティティの「オープンワールド」とやり取りできます。false の場合、ツールは内部エンティティとのみやり取りできます。たとえば、ウェブ検索ツールはオープン ワールドですが、メモリツールはオープン ワールドではありません。
破壊的ヒント: ❌ | べき等ヒント: ❌ | 読み取り専用ヒント: ✅ | オープン ワールド ヒント: ❌