الأداة: compute_routes
تحسب هذه الطريقة مسار رحلة بين نقطة انطلاق ووجهة محدّدتين. أوضاع السفر المتاحة: القيادة (الوضع التلقائي)، المشي
متطلبات الإدخال (مهمة): تتطلّب كلاً من المصدر والوجهة. يجب تقديم كلّ منها باستخدام إحدى الطرق التالية، مع تضمينها في الحقل الخاص بها:
العنوان: (سلسلة، مثل "برج إيفل، باريس"). ملاحظة: كلما كان العنوان المدخَل أكثر تفصيلاً أو تحديدًا، كانت النتائج أفضل.
lat_lng: (object, {"latitude": number, "longitude": number})
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 |
عنوان يمكن لشخص عادي قراءته أو رمز Plus Code لمزيد من التفاصيل، يُرجى الانتقال إلى https://plus.codes. |
LatLng
| تمثيل JSON |
|---|
{ "latitude": number, "longitude": number } |
| الحقول | |
|---|---|
latitude |
تمثّل هذه السمة خط العرض بالدرجات. يجب أن يكون ضمن النطاق [-90.0, +90.0]. |
longitude |
تمثّل هذه السمة خط الطول بالدرجات. يجب أن تكون القيمة ضمن النطاق [-180.0, +180.0]. |
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 |
عدد الثواني الموقّعة في الفترة الزمنية يجب أن تتراوح القيمة بين -315,576,000,000 و+315,576,000,000، بما في ذلك طرفي النطاق. ملاحظة: يتم احتساب هذه الحدود من خلال: 60 ثانية/دقيقة * 60 دقيقة/ساعة * 24 ساعة/يوم * 365.25 يوم/سنة * 10000 سنة |
nanos |
تشير هذه السمة إلى أجزاء الثانية الموقّعة بدقة النانو ثانية لمدة الفترة الزمنية. يتم تمثيل المدد الزمنية الأقل من ثانية واحدة باستخدام الحقل 0 |
تحديد المصدر
| تمثيل JSON |
|---|
{ "title": string, "url": string } |
| الحقول | |
|---|---|
title |
تمثّل هذه السمة العنوان الذي سيتم عرضه في بيان تحديد المصدر. |
url |
عنوان URL الذي سيتم الربط به لأغراض تحديد المصدر. |
التعليقات التوضيحية للأدوات
يتم إرسال تعليقات توضيحية للأدوات إلى عملاء MCP لوصف المخاطر الأساسية لأداة معيّنة. تتعامل معظم البرامج مع هذه التلميحات على أنّها غير موثوق بها، ولكن يمكن استخدامها لتحديد الوقت الذي قد يتم فيه إرسال طلب تأكيد إلى المستخدم.
بالإضافة إلى سلسلة العنوان، يتم تحديد تلميحات القيم المنطقية التالية على النحو التالي:
-
readOnlyHint: إذا كانت القيمة صحيحة، لن تعدّل الأداة بيئتها. القيمة التلقائية: false. -
destructiveHint: إذا كانت القيمة صحيحة، يمكن للأداة تنفيذ إجراءات مدمّرة. إذا كانت القيمة "خطأ"، يمكن للأداة تنفيذ إجراءات إضافية فقط. القيمة التلقائية: true idempotentHint: إذا كانت القيمة صحيحة، لن يكون لاستدعاء الأداة بشكل متكرر باستخدام الوسيطات نفسها أي تأثير إضافي على بيئتها. القيمة التلقائية: false.openWorldHint: إذا كانت القيمة صحيحة، يمكن للأداة التفاعل مع "عالم مفتوح" من الكيانات الخارجية. إذا كانت القيمة false، يمكن للأداة التفاعل مع الكيانات الداخلية فقط. على سبيل المثال، ستكون أداة البحث على الويب عالمًا مفتوحًا، بينما لن تكون أداة الذاكرة عالمًا مفتوحًا.
تلميح تدميري: ❌ | تلميح متكرّر: ❌ | تلميح للقراءة فقط: ✅ | تلميح للعالم المفتوح: ❌