تعرض أداة compute_routes مسارًا بين نقطة انطلاق ووجهة
لوسيلة نقل معيّنة. يتضمّن الردّ مسافة المسار ومدته. يتم احتساب المسارات تلقائيًا بدون معلومات حركة المرور في الوقت الفعلي.
يضيف الإصدار Pro ميزة تحديد المسارات
التي تأخذ في الاعتبار حركة المرور المباشرة والمسارات التي تتضمّن المزيد من المحطات الوسيطة.
يمكنك استدعاء compute_routes من خلال خادم MCP أو كطريقة REST لـ computeRoutes. توضّح هذه الصفحة خيارات الطلبات، بما في ذلك خيارات Pro،
ومحتوى الاستجابة، وكيفية فوترة الطلبات. للاطّلاع على المخططات الكاملة،
يُرجى مراجعة
مرجع MCP لـ compute_routes
ومرجع REST لـ computeRoutes.
خيارات الطلب
يوضّح الجدول التالي خيارات الطلبات في compute_routes:
| Option | الوصف |
|---|---|
origin، destination |
الحقل مطلوب. وكل منها يمثّل نقطة على المسار: address (عنوان يمكن لشخص عادي قراءته أو رمز Plus Codes) أو place_id أو lat_lng. يمكنك الجمع بين التنسيقات، مثل عنوان لنقطة الانطلاق ورقم تعريف مكان للوجهة. |
travel_mode |
وسيلة النقل: DRIVE (تلقائي) أو WALK أو BICYCLE أو TRANSIT WALK المسارات في الإصدار التجريبي وقد لا تتضمّن أحيانًا أرصفة أو مسارات واضحة للمشاة. يجب عرض هذا التحذير للمستخدم لجميع مسارات المشي التي تعرضها في تطبيقك. |
routing_preference |
كيفية استخدام بيانات حركة المرور لحساب المسار: ROUTING_PREFERENCE_TRAFFIC_UNAWARE (تلقائي) أو ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL، وهو خيار Pro. لا يتوفّر "ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL" لـ "WALK" أو "BICYCLE". يُرجى الاطّلاع على المسارات المستندة إلى حركة المرور. |
intermediate_waypoints |
محطات توقّف مرتّبة بين نقطة الانطلاق والوجهة ويمر المسار من خلالها بالترتيب المحدّد. يمكن أن يتضمّن الطلب ما يصل إلى 10 نقاط على المسار، أو من 11 إلى 25 نقطة على المسار كـ خيار احترافي. إذا تجاوز الطلب 25، يظهر الخطأ INVALID_ARGUMENT. لا تتيح مسارات النقل العام استخدام نقاط على المسار وسيطة. |
departure_time أو arrival_time |
وقت المغادرة من نقطة الانطلاق أو الوصول إلى الوجهة، كطابع زمني وفقًا للمعيار RFC 3339 يُرجى ضبط قيمة واحدة كحدّ أقصى. يتم ضبط القيمة تلقائيًا على المغادرة في الوقت الحالي. بالنسبة إلى TRANSIT، يمكن أن يصل الوقت إلى 7 أيام في الماضي أو 100 يوم في المستقبل. بالنسبة إلى وسائل النقل الأخرى، لا يمكن أن يكون الوقت في الماضي ويمكن أن يكون قبل 365 يومًا كحدّ أقصى. |
compute_alternative_routes |
عندما تكون قيمة السمة true، تتضمّن الاستجابة مسارات بديلة بالإضافة إلى المسار المقترَح، في حال توفّر بدائل. القيمة التلقائية هي false. |
include_polyline |
عندما تكون قيمة السمة true، يتضمّن كل مسار في الردّ السمة encodedPolyline. القيمة التلقائية هي false. |
location_bias |
إحداثيات خطوط العرض/الطول التي تؤثر في كيفية حلّ النقاط النصية على المسار، مثل إزالة الغموض عن عنوان معيّن |
خيارات Pro
هناك خياران لتحديد رمز التخزين التعريفي لـ Maps Grounding Pro. يتم تحصيل رسوم الطلب الذي يستخدم أيًا منهما أو كليهما ضمن رمز التخزين التعريفي Pro:
| خيار Pro | حالات الاستخدام |
|---|---|
تم ضبط موقع routing_preference في العنوان ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL |
يسأل المستخدم عن حركة المرور أو الازدحام أو مدة الرحلة التي تأخذ في الاعتبار حركة المرور الحالية. يُرجى الاطّلاع على المسارات المستندة إلى حركة المرور. |
من 11 إلى 25 intermediate_waypoints |
يتطلّب المسار أكثر من 10 محطات بين نقطة الانطلاق والوجهة. |
تتم فوترة جميع الخيارات الأخرى ضمن رمز التخزين التعريفي Essentials، بما في ذلك وضع السفر والوقت والمسارات البديلة والخطوط المتعدّدة والانحياز للموقع الجغرافي.
تحديد المسارات استنادًا إلى حركة المرور
يتم احتساب المسارات تلقائيًا بدون أحوال حركة المرور المباشرة (ROUTING_PREFERENCE_TRAFFIC_UNAWARE). ويوفّر هذا الإعداد أقل وقت استجابة. وهي مناسبة للطلبات التي لا تهمّ فيها حركة المرور أو لا تنطبق عليها، مثل مسارات المشي أو التخطيط التقريبي.
اضبط routing_preference على ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL
لاحتساب المسار ومدته مع أحوال حركة المرور الحالية، عندما
تكون بيانات حركة المرور متاحة. يمكنك استخدامها عندما يسأل المستخدم عن المدة التي تستغرقها الرحلة بالسيارة
في الوقت الحالي. بالنسبة إلى مسارات TRANSIT، يستخدم هذا الإعداد بيانات النقل العام في الوقت الفعلي، مثل التأخيرات والإلغاءات، عندما تكون متاحة. ولا يتوفّر للمسارات WALK أو BICYCLE، وتعرِض هذه الطلبات الخطأ INVALID_ARGUMENT. هذا خيار Pro، لذا تتم فوترة الطلب ضمن رمز التخزين التعريفي لـ Pro. يضيف هذا الخيار أيضًا
وقت استجابة.
مثال
يطلب طلب MCP التالي مسار قيادة يراعي حركة المرور مع محطة توقف وسيطة واحدة وخط متعدّد الخطوط مُشفَّر. ويتم تحصيل رسومها ضمن رمز التخزين التعريفي لـ Pro:
{
"method": "tools/call",
"params": {
"name": "compute_routes",
"arguments": {
"origin": {"address": "Ferry Building, San Francisco, CA"},
"destination": {"address": "Golden Gate Park, San Francisco, CA"},
"intermediate_waypoints": [
{"address": "Palace of Fine Arts, San Francisco, CA"}
],
"travel_mode": "DRIVE",
"routing_preference": "ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL",
"include_polyline": true
}
},
"jsonrpc": "2.0",
"id": 1
}
يرسل المثال التالي الطلب نفسه إلى طريقة REST computeRoutes:
curl -X POST \
-H "Content-Type: application/json" \
-H "X-Goog-Api-Key: API_KEY" \
-d '{
"origin": {"address": "Ferry Building, San Francisco, CA"},
"destination": {"address": "Golden Gate Park, San Francisco, CA"},
"intermediateWaypoints": [
{"address": "Palace of Fine Arts, San Francisco, CA"}
],
"travelMode": "DRIVE",
"routingPreference": "ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL",
"includePolyline": true
}' \
"https://mapstools.googleapis.com/v1:computeRoutes"
استبدِل API_KEY بمفتاح واجهة برمجة التطبيقات.
الردّ
يتضمّن الردّ routes[]، مرتّبة من الأكثر إلى الأقل اقتراحًا. يتم عرض مسار واحد فقط ما لم يتم ضبط compute_alternative_routes على true. يتضمّن كل مسار ما يلي:
-
distanceMeters: مسافة المسار بالأمتار -
duration: الوقت اللازم لسلك المسار باستخدامROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL، يتم احتساب المدة وفقًا لأحوال حركة المرور. -
encodedPolyline: مسار الرحلة على شكل خطوط متعدّدة مرمّزة، عندما تكون قيمةinclude_polylineهيtrue. ويمكنك استخدامها لرسم المسار على خريطة باستخدام واجهات برمجة تطبيقات أخرى في "منصة خرائط Google". -
retrievalToken: رمز مميّز مبهم يتم عرضه لمساراتDRIVE(صالح لمدة 10 دقائق) ويمكنك تمريره إلىsearch_along_routeللعثور على أماكن على طول هذا المسار بدون إعادة إرسال النقاط على المسار. -
attribution: مصدر المعلومات الذي يجب عرضه مع المسار. يُرجى الاطّلاع على متطلبات الإسناد.
الفوترة والحصص
كل طلب من compute_routes هو حدث واحد قابل للفوترة:
- يتم إصدار فاتورة بالطلبات التي لا تستخدم أيّ خيارات Pro ضمن رمز التخزين التعريفي لـ Maps Grounding Essentials.
- يتم تحرير فاتورة للطلب الذي يستخدم خيار Pro ضمن رمز التخزين التعريفي لـ Maps Grounding Pro. لا يؤدي استخدام كلا خيارَي Pro في طلب واحد إلى تغيير الرسوم. للاطّلاع على أسعار Pro، يُرجى مراجعة مقارنة بين Essentials وPro و"استخدام خرائط Google كمصدر".
لا يؤدي طلب مسارات بديلة أو شكل متعدّد الخطوط أو وقت مغادرة أو وقت وصول أو وسيلة نقل مختلفة إلى تغيير رمز التخزين التعريفي.
تبلغ حصة compute_routes 300 طلب بحث في الدقيقة لكل مشروع، وتتم مشاركتها من خلال
كل من رمزَي التخزين التعريفيَين. للاطّلاع على الأسعار، يُرجى مراجعة
جدول الأسعار الرئيسي وجدول الأسعار في الهند.
الحدود
- يمكن أن يتضمّن الطلب 25 نقطة على المسار كحدّ أقصى، وتُعدّ النقاط من 11 إلى 25 خيارًا احترافيًا. ويؤدي الطلب الذي يتضمّن عددًا أكبر من ذلك إلى ظهور الخطأ
INVALID_ARGUMENT. - لا تتيح مسارات النقل العام استخدام نقاط على المسار وسيطة. يؤدي طلب النقل العام الذي يتضمّن نقاطًا وسيطة على المسار إلى ظهور خطأ
INVALID_ARGUMENT. - لا تتوفّر ميزة "
ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL" لمسارات المشي أو ركوب الدراجات. - بالنسبة إلى مسارات النقل العام، يمكن أن تكون أوقات المغادرة وأوقات الوصول قبل 7 أيام أو بعد 100 يوم. بالنسبة إلى وسائل النقل الأخرى، لا يمكن أن تكون في الماضي ويمكن أن تكون قبل 365 يومًا.
- يجب أن تكون إحداثيات النقاط على المسار ضمن الحدود الجغرافية الصالحة (خط العرض من -90 إلى 90، وخط الطول من -180 إلى 180).
- لا تعرض الأداة الاتجاهات المفصّلة أو الأقسام أو تفاصيل خطوط النقل العام.