ضبط خيارات حركة المرور

المطوّرون في المنطقة الاقتصادية الأوروبية

توازن إعدادات الزيارات التي تختارها بين دقة تفاصيل المسار وأداء الطلب بإحدى الطريقتَين التاليتَين:

  • مراعية لحركة المرور: تعرض هذه الاستراتيجية النتائج الأكثر دقةً (وقت استجابة أطول).
  • غير مدرِك لحالة الازدحام: لعرض النتائج في أسرع وقت ممكن (أقل وقت استجابة)

عند تقديم طلب، عليك تحديد ما إذا كان من الأفضل عرض النتائج الأكثر دقة أو عرض النتائج في أسرع وقت ممكن. توفّر مكتبة "الطرق" خيارات تتيح لك التحكّم في جودة بيانات الردّ مقارنةً بوقت استجابة الردّ.

تحديد مستوى الزيارات ونموذج الزيارات

لتحديد مستوى الزيارات، اضبط السمة routingPreference على ComputeRoutesRequest. تعرض القائمة التالية خيارات routingPreference المتاحة:

  • TRAFFIC_UNAWARE (تلقائي): يعرض هذا الخيار النتائج بأسرع وقت ممكن، مع تفاصيل تقريبية حول التوجيه.
  • TRAFFIC_AWARE: تعرض نتائج أكثر دقة باستخدام بيانات حركة المرور في الوقت الفعلي، ولكن مع وقت استجابة أطول.
  • TRAFFIC_AWARE_OPTIMAL: تعرض هذه السمة النتائج الأكثر دقة باستخدام بيانات الزيارات في الوقت الفعلي، ولكن مع أعلى وقت استجابة.

تمثّل السمة TRAFFIC_MODEL الافتراضات التي يجب استخدامها عند توقّع المدة في حركة المرور ( وTrafficModel.BEST_GUESS (القيمة التلقائية) و وTrafficModel.OPTIMISTIC و وTrafficModel.PESSIMISTIC).

كيفية اختيار ميزة "تحديد المسار حسب حركة المرور"

لإنشاء طلب مسار يراعي حركة المرور، اتّبِع الخطوات التالية:

  1. اضبط السمة travelMode على DRIVING.

  2. اضبط السمة routingPreference على إحدى القيم التالية:

    • TRAFFIC_AWARE
    • TRAFFIC_AWARE_OPTIMAL

    ملاحظة: TRAFFIC_UNAWARE هو الإعداد التلقائي.

  3. اضبط السمة trafficModel على إحدى القيم التالية:

  4. اضبط السمة extraComputations على TRAFFIC_ON_POLYLINE.

  5. اطلب الحقول path وspeedPaths وrouteLabels.

يوضّح طلب المثال التالي كيفية طلب مسار يراعي حالة حركة المرور ويعرض بيانات حركة المرور على الخط المتعدد الأضلاع:

// Define a traffic aware routes request with polylines.
const requestWithTraffic = {
  origin: '200 King St San Francisco, CA 94107',
  destination: 'Pier 41, San Francisco, CA 94133',
  travelMode: 'DRIVING',
  routingPreference: 'TRAFFIC_AWARE_OPTIMAL',
  trafficModel: 'optimistic',
  extraComputations: ['TRAFFIC_ON_POLYLINE'],
  fields: ['speedPaths'],
};
    

أحوال حركة المرور

تصف أحوال حركة المرور معدّل تدفّق حركة المرور على النحو التالي:

  • حركة المرور العادية: لا يوجد ازدحام وتتحرك المركبات بالسرعة العادية.
  • حركة مرور خفيفة إلى معتدلة: ازدياد الازدحام، مع انخفاض سرعة حركة المرور
  • حركة مرور مزدحمة: ازدحام شديد مع انخفاض كبير في سرعة حركة المرور

غير مدرِك لحركة المرور

TRAFFIC_UNAWARE هو الإعداد التلقائي. استخدِم خيار التوجيه هذا عندما تريد الحصول على الردود بأسرع ما يمكن، وتكون تفاصيل التوجيه التقريبية كافية.

يتم احتساب مسارات TRAFFIC_UNAWARE بدون أخذ حالة حركة المرور الحالية في الاعتبار. يؤدي خيار التوجيه المفضّل هذا إلى الحصول على أسرع استجابة للطلبات (أقل وقت استجابة).

إذا اخترت TRAFFIC_UNAWARE، سيتم تحديد المسار والمدة استنادًا إلى شبكة الطرق ومتوسط حالة حركة المرور غير المرتبطة بالوقت، وليس إلى حالة الطرق الحالية. نتيجةً لذلك، قد تتضمّن المسارات طرقًا مغلقة مؤقتًا. قد تختلف نتائج طلب معيّن بمرور الوقت بسبب التغييرات في شبكة الطرق، وتعديل متوسط حالة حركة المرور، وطبيعة الخدمة الموزّعة. قد تختلف النتائج أيضًا بين المسارات المتشابهة في أي وقت أو تكرار.

في ما يلي الردود التي ستظهر لك:

  • duration: يحتوي على الوقت المقدَّر للوصول إلى الوجهة.
  • staticDuration: الوقت المقدّر للوصول إلى الوجهة على طول المسار مع الأخذ في الاعتبار معلومات حركة المرور السابقة فقط بالنسبة إلى TRAFFIC_UNAWARE، يحتوي هذا الحقل على القيمة نفسها التي يتضمّنها duration.

ميزة "معرفة أحوال الطرق"

استخدِم خيار التوجيه هذا عندما تريد الحصول على تفاصيل توجيه أكثر دقة من TRAFFIC_UNAWARE، ولكن لا يهمّك إذا تم عرض الردود مع زيادة معتدلة في وقت الاستجابة.

عند ضبط خيار TRAFFIC_AWARE، تحسب الخدمة المسار مع الأخذ في الاعتبار حالة حركة المرور الحالية. ونتيجةً لذلك، يعكس المسار وتفاصيله الظروف الفعلية بشكل أكثر دقة. بما أنّ هذه الزيادة في جودة البيانات تؤدي إلى زيادة وقت الاستجابة، يتم تطبيق تحسينات على الأداء لتقليل وقت الاستجابة بشكل كبير.

في ما يلي الردود التي ستظهر لك:

  • duration: الوقت المقدَّر للوصول مع الأخذ في الاعتبار معلومات حركة المرور في الوقت الفعلي
  • staticDuration: الوقت المقدّر للوصول إلى الوجهة على طول المسار مع الأخذ في الاعتبار معلومات حركة المرور السابقة فقط

الأمثل مع مراعاة حركة المرور

استخدِم خيار التوجيه هذا عندما تريد الحصول على نتائج بأعلى جودة بغض النظر عن المدة التي تستغرقها الردود. يؤدي خيار التوجيه هذا إلى أطول تأخير في عرض الردود (أعلى وقت استجابة).

عند ضبط خيار التوجيه TRAFFIC_AWARE_OPTIMAL، تحسب الخدمة المسار مع الأخذ في الاعتبار أحوال حركة المرور الحالية، ولكنّها لا تطبّق تحسينات الأداء. في هذا الوضع، يُجري الخادم بحثًا أكثر شمولاً في شبكة الطرق للعثور على المسار الأمثل.

إنّ TRAFFIC_AWARE_OPTIMAL خيار تحديد المسار يعادل الوضع الذي يستخدمه maps.google.com وتطبيق "خرائط Google" للأجهزة الجوّالة.

عند استخدام هذا الخيار مع computeRouteMatrix، لا يمكن أن يتجاوز عدد العناصر في الطلب 25 (عدد المصادر × عدد الوجهات).

في ما يلي الردود التي ستظهر لك:

  • duration: الوقت المقدَّر للوصول إلى الوجهة على طول المسار مع الأخذ في الاعتبار معلومات حركة المرور في الوقت الفعلي
  • staticDuration: الوقت المقدّر للوصول إلى الوجهة على طول المسار مع الأخذ في الاعتبار معلومات حركة المرور السابقة فقط

تحديد وقت المغادرة (اختياري)

استخدِم هذه السمة فقط للطلبات التي تتطلّب معرفة حالة حركة المرور والتي يجب أن يكون وقت المغادرة فيها في المستقبل. إذا لم تضبط السمة departureTime، سيتم ضبطها تلقائيًا على الوقت الذي تقدّم فيه الطلب.

استخدِم السمة departureTime مع الخيارَين TRAFFIC_AWARE وTRAFFIC_AWARE_OPTIMAL عندما تريد تعديل طريقة توقّع الخدمة لحركة المرور عند اختيار مسار.

  • TRAFFIC_UNAWARE: لا يُنصح به لأنّ اختيار المسار والمدة يستند إلى شبكة الطرق ومتوسط حالة حركة المرور غير المرتبطة بالوقت.
  • TRAFFIC_AWARE وTRAFFIC_AWARE_OPTIMAL: يُنصح باستخدام هذين الخيارَين للمغادرات التي ستحدث في المستقبل القريب لأنّ هذه الإعدادات المفضّلة تأخذ في الاعتبار حالة حركة المرور المباشرة. تزداد أهمية بيانات حركة المرور المباشرة ومدى صلتها بالوقت الحالي كلما اقترب departureTime من الوقت الحالي. كلما حدّدت وقت المغادرة في المستقبل بشكل أبعد، زاد التركيز على أحوال حركة المرور السابقة عند اختيار الطرق.

الحصول على رمز مميز للمسار

رموز المسارات هي تمثيل آمن على الويب ومشفّر باستخدام base64 لمسار معيّن. استخدِم رمزًا مميزًا للمسار لمشاركة مسار مع حزمة تطوير البرامج (SDK) الخاصة بخدمة Navigation. تستخدم حزمة تطوير البرامج (SDK) هذه الرمز المميز لإعادة إنشاء المسار والحفاظ على نية التنقّل الأصلية، حتى أثناء إعادة التوجيه.

اتّبِع الخطوات التالية للحصول على رمز مميّز للمسار:

  • اضبط travelMode على DRIVING.
  • اضبط قيمة routingPreference على TRAFFIC_AWARE أو TRAFFIC_AWARE_OPTIMAL.
  • اطلب الحقل routeToken.

يوضّح طلب المثال التالي كيفية طلب رمز مميّز للمسار:

// Define a traffic aware routes request with a route token.
const requestWithRouteToken = {
  origin: '200 King St San Francisco, CA 94107',
  destination: 'Pier 41, San Francisco, CA 94133',
  travelMode: 'DRIVING',
  routingPreference: 'TRAFFIC_AWARE',
  fields: ['path', 'speedPaths', 'routeLabels', 'routeToken'],
};