ابزار: compute_routes
مسیر سفر بین مبدأ و مقصد مشخصی را محاسبه میکند. حالتهای سفر پشتیبانیشده: رانندگی (پیشفرض)، پیادهروی.
الزامات ورودی (حیاتی): هم مبدأ و هم مقصد را میطلبد. هرکدام باید بااستفاده از یکی از روشهای زیر، در فیلد مربوطه ارائه شود:
نشانی: (رشته، برای نمونه، «برج ایفل، پاریس»). توجه: هرچه نشانی ورودی جزئیتر یا دقیقتر باشد، نتایج بهتر خواهد بود.
lat_lng: (شیء، {"latitude": عدد، "longitude": عدد})
place_id: (رشته، برای نمونه، «ChIJOwE_Id1w5EAR4Q27FkL6T_0») توجه: این شناسه را میتوان از ابزار search_places دریافت کرد. هر ترکیبی از انواع ورودی مجاز است (برای نمونه، مبدأ براساس نشانی، مقصد براساس lat_lng). اگر مبدأ یا مقصد وجود ندارد، قبلاز تلاش برای فراخوانی ابزار، حتماً باید از کاربر بخواهید توضیح دهد.
تماس ابزار نمونه: {"origin":{"address":"Eiffel Tower"},"destination":{"place_id":"ChIJt_5xIthw5EARoJ71mGq7t74"},"travel_mode":"DRIVE"}
- برونداد زمینهای باید بااستفاده از اطلاعات فیلد
attributionدرصورت دردسترس بودن به منبع نسبت داده شود.
نمونه کد زیر نحوه استفاده از curl برای فراخوانی ابزار compute_routes 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": "compute_routes", "arguments": { // Provide these details according to the MCP tool specification. } }, "jsonrpc": "2.0", "id": 1 }' |
طرحواره ورودی
ComputeRoutesRequest.
ComputeRoutesRequest
| نمایش JSON |
|---|
{ "origin": { object ( |
| فیلدها | |
|---|---|
origin |
الزامی. نقطهمسیر مبدأ. |
destination |
الزامی. ایستگاه بین راهی مقصد. |
travelMode |
اختیاری. حالت حملونقل را مشخص میکند. |
نقطه مسیر
| نمایش JSON |
|---|
{ // Union field |
| فیلدها | |
|---|---|
فیلد اتحادیه location_type. روشهای مختلف برای نمایش مکان. location_type فقط میتواند یکی از موارد زیر باشد: |
|
latLng |
نقطهای که بااستفاده از مختصات جغرافیایی مشخص شده است. |
placeId |
«شناسه مکان» مرتبط با نقطه بین راه. |
address |
نشانی قابلخواندن توسط انسان یا کد پلاس. برای جزئیات، به https://plus.codes مراجعه کنید. |
LatLng
| نمایش JSON |
|---|
{ "latitude": number, "longitude": number } |
| فیلدها | |
|---|---|
latitude |
عرض جغرافیایی به درجه. باید در محدوده [-۹۰.۰، +۹۰.۰] باشد. |
longitude |
طول جغرافیایی به درجه. باید در محدوده [-۱۸۰.۰، +۱۸۰.۰] باشد. |
RouteTravelMode
مجموعهای از مقادیر که برای مشخص کردن حالت سفر استفاده میشود.
| شمارشیها | |
|---|---|
ROUTE_TRAVEL_MODE_UNSPECIFIED |
حالت سفری مشخص نشده است. پیشفرض DRIVE است. |
DRIVE |
با خودروی مسافری سفر کنید. |
WALK |
با پیادهروی سفر کنید. توجه: WALK مسیر در مرحله بتا است و ممکن است گاهی اوقات فاقد پیادهروهای مشخص یا مسیرهای پیاده باشد. باید این هشدار را برای همه پیادهرویهایی که در برنامهتان نمایش میدهید به کاربر نشان دهید. |
طرحواره برونداد
ComputeRoutesResponse.
ComputeRoutesResponse
| نمایش JSON |
|---|
{
"routes": [
{
object ( |
| فیلدها | |
|---|---|
routes[] |
شامل مسیرهای بین مبدأ و مقصد درخواستی است. درحالحاضر فقط یک مسیر برگردانده میشود. |
مسیر
| نمایش JSON |
|---|
{
"distanceMeters": integer,
"duration": string,
"attribution": {
object ( |
| فیلدها | |
|---|---|
distanceMeters |
مسافت سفر مسیر، به متر. |
duration |
مدت زمانی که برای پیمایش مسیر لازم است. مدت زمان به ثانیه با حداکثر نه رقم اعشاری، که با « |
attribution |
استناد الزامی برای نمایش با مسیر. |
مدت
| نمایش JSON |
|---|
{ "seconds": string, "nanos": integer } |
| فیلدها | |
|---|---|
seconds |
ثانیههای علامتدار بازه زمانی. باید از -۳۱۵٬۵۷۶٬۰۰۰٬۰۰۰ تا +۳۱۵٬۵۷۶٬۰۰۰٬۰۰۰ فراگیر باشد. توجه: این حدود از محاسبات زیر بهدست آمده است: ۶۰ ثانیه/دقیقه * ۶۰ دقیقه/ساعت * ۲۴ ساعت/روز * ۳۶۵٫۲۵ روز/سال * ۱۰۰۰۰ سال |
nanos |
کسرهای امضاشده از ثانیه در وضوح نانوثانیه از بازه زمانی. مدتهای کمتر از یک ثانیه با فیلد 0 |
اِسناد
| نمایش JSON |
|---|
{ "title": string, "url": string } |
| فیلدها | |
|---|---|
title |
عنوان نمایش دادهشده برای اسناد. |
url |
نشانی وب برای پیوند دادن به اِسناد. |
حاشیهنویسی ابزار
گزارمانهای ابزار برای توصیف خطر اولیه یک ابزار معین به کارخواهان MCP ارسال میشود. اکثر کارخواهها این نشانهها را بهعنوان نامطمئن درنظر میگیرند، اما میتوان از آنها برای تصمیمگیری درباره زمان ارسال پیامواره تأیید به کاربر استفاده کرد.
بههمراه رشته عنوان، نشانهای بولی زیر به این صورت تعریف میشوند:
-
readOnlyHint: اگر درست باشد، ابزار محیطش را تغییر نمیدهد. پیشفرض: نادرست. -
destructiveHint: اگر درست باشد، ابزار میتواند کنشهای مخرب انجام دهد. اگر نادرست باشد، ابزار فقط میتواند کنشهای افزودنی انجام دهد. پیشفرض: درست. idempotentHint: اگر درست باشد، فراخوانی مکرر ابزار با همان آرگومانها تأثیر اضافهای بر محیط آن نخواهد داشت. پیشفرض: نادرست.-
openWorldHint: اگر درست باشد، ابزار میتواند با «دنیای باز» نهادهای خارجی تعامل داشته باشد. اگر نادرست باشد، ابزار فقط میتواند با نهادهای داخلی تعامل داشته باشد. برای مثال، ابزار جستجوی وب دنیای باز است، اما ابزار حافظه دنیای باز نیست.
راهنمایی مخرب: ❌ | راهنمایی خودتوان: ❌ | راهنمایی فقط خواندنی: ✅ | راهنمایی جهان باز: ❌