الأداة: search_along_route
يمكنك استدعاء هذه الأداة عندما يريد المستخدم العثور على أماكن أو أنشطة تجارية أو نقاط اهتمام على طول مسار السفر (مثلاً، "محطات وقود في طريقي إلى تاهو"، "مقاهٍ بين سان فرانسيسكو وسان خوسيه"). يؤدي استدعاء هذه الأداة إلى تكلفة أعلى من search_places، لذا استخدِم search_places بدلاً من ذلك عند البحث بالقرب من موقع جغرافي واحد بدلاً من البحث على طول مسار.
متطلبات الإدخال (مهمة):
text_query(سلسلة - إلزامية): وصف بلغة طبيعية لما يجب البحث عنه على طول المسار.- أمثلة:
'ev chargers'و'coffee'و'vegetarian restaurants'و'rest stops'
- أمثلة:
مواصفات المسار (إلزامية - يجب تقديم سمة واحدة فقط من السمات التالية):
-
retrieval_token(سلسلة): السمةretrieval_tokenالتي يعرضها طلبcompute_routesسابق لمسارDRIVE. يُفضَّل استخدام هذا الخيار عندما يكون المسار قد تم احتسابه مسبقًا. ويكون الرمز المميّز صالحًا لمدة 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(enum - اختياري):DRIVE(تلقائي) أوWALKأوBICYCLE. لا يتوفّر كل منWALKوBICYCLEإلا معroute_endpoints. "TRANSIT" غير متاح.
routing_preference(enum - اختياري):-
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(سلسلة - اختيارية): رمز منطقة CLDR بتنسيق Unicode للمستخدم، مثلUSوCA.
تعليمات طلب استخدام الأداة:
- تتضمّن كل نتيجة
detour_summary(عند توفّرها) تصف المسافة الإضافية (localized_detour_distance)، والوقت الإضافي (detour_duration) الذي يستغرقه التوقّف في ذلك المكان، ما لم يتم تحديد المسار على أنّهencoded_polyline. استخدِمها لمقارنة الخيارات. - قد يتضمّن الرد
summaryاقتباسات مستندة إلى الصفر (مثل "[0]") تشير إلى إدخالات فيresults. - يجب أن يتم تحديد مصدر الناتج المستند إلى المصادر باستخدام حقل
attributionلكلresults[].placeعندما يكون متاحًا.
يوضّح نموذج الرمز البرمجي التالي كيفية استخدام curl لاستدعاء أداة MCP search_along_route.
| طلب 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 |
الحقل مطلوب. نقطة البداية (العنوان أو رقم تعريف المكان أو الإحداثيات الجغرافية) |
destination |
الحقل مطلوب. نقطة الوجهة (العنوان أو رقم تعريف المكان أو الإحداثيات الجغرافية) |
النقطة الوسيطة
| تمثيل 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]. |
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 |
النتائج فقط. ملخّص باللغة الطبيعية لنتائج البحث والمفاضلات بين المسارات البديلة قد يحتوي على اقتباسات مستندة إلى الصفر (مثل "[0]" و"[1]") تشير إلى الإدخالات المقابلة في قائمة |
contentToken |
النتائج فقط. هو رمز مميّز مشفّر يتضمّن سياق البحث ويمكن تمريره إلى خدمات العرض المرئي في "خرائط Google" أو حِزم تطوير البرامج (SDK) أو "أدوات واجهة المستخدم الموجهة للوكلاء الذكيين في خرائط Google" لعرض مكوّنات واجهة مستخدم تفاعلية لنتائج البحث المعروضة. |
النتيجة
| تمثيل JSON |
|---|
{ "place": { object ( |
| الحقول | |
|---|---|
place |
النتائج فقط. تفاصيل حول المكان الذي تم العثور عليه على طول المسار |
detourSummary |
النتائج فقط. مقاييس المسار البديل التي تم تكبّدها من خلال إضافة هذا المكان كمحطة توقّف وسيطة على طول المسار يتم حذف هذا الحقل أو تركه فارغًا إذا تعذّر احتساب مقاييس المسار البديل. |
PlaceView
| تمثيل JSON |
|---|
{ "place": string, "id": string, "googleMapsLinks": { object ( |
| الحقول | |
|---|---|
place |
اسم المورد للمكان الأساسي، بالتنسيق "places/{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 كم"). |
المدة
| تمثيل JSON |
|---|
{ "seconds": string, "nanos": integer } |
| الحقول | |
|---|---|
seconds |
الثواني الموقَّعة للفترة الزمنية يجب أن تتراوح القيمة بين -315,576,000,000 و+315,576,000,000، بما في ذلك طرفي النطاق. ملاحظة: يتم احتساب هذه الحدود من: 60 ثانية/دقيقة * 60 دقيقة/ساعة * 24 ساعة/يوم * 365.25 يوم/سنة * 10000 سنة |
nanos |
تشير هذه السمة إلى أجزاء الثانية الموقَّعة بدقة النانو ثانية للفترة الزمنية. يتم تمثيل المدد التي تقل عن ثانية واحدة بحقل |
التعليقات التوضيحية للأدوات
يتم إرسال تعليقات توضيحية للأدوات إلى عملاء MCP لوصف المخاطر الأساسية لأداة معيّنة. تتعامل معظم البرامج مع هذه التلميحات على أنّها غير موثوق بها، ولكن يمكن استخدامها لتحديد الحالات التي قد يتم فيها إرسال طلب تأكيد إلى المستخدم.
إلى جانب سلسلة العنوان، يتم تحديد التلميحات المنطقية التالية على النحو التالي:
-
readOnlyHint: إذا كانت القيمة "صحيح"، لا تعدّل الأداة بيئتها. القيمة التلقائية: false -
destructiveHint: إذا كانت القيمة "صحيح"، يمكن للأداة تنفيذ إجراءات مدمّرة. إذا كانت القيمة "خطأ"، يمكن للأداة تنفيذ إجراءات إضافية فقط. القيمة التلقائية: true -
idempotentHint: إذا كانت القيمة "صحيح"، لن يؤدي استدعاء الأداة بشكل متكرّر باستخدام الوسيطات نفسها إلى أي تأثير إضافي على بيئتها. القيمة التلقائية: false -
openWorldHint: إذا كانت القيمة "صحيح"، يمكن للأداة التفاعل مع "عالم مفتوح" من الكيانات الخارجية. إذا كانت القيمة "خطأ"، يمكن للأداة التفاعل مع الكيانات الداخلية فقط. على سبيل المثال، أداة بحث الويب هي أداة عالم مفتوح، بينما أداة الذاكرة ليست كذلك.
Destructive Hint: ❌ | Idempotent Hint: ❌ | Read Only Hint: ✅ | Open World Hint: ❌