ضبط تنبيهات عدّاد السرعة

عند تفعيل التنقّل، تعرض حزمة Navigation SDK لنظام التشغيل Android عنصر تحكّم في الحد الأقصى للسرعة في أسفل يسار الخريطة يعرض الحد الأقصى للسرعة الحالي. إذا تجاوز المستخدم الحد الأقصى للسرعة، يتوسّع عنصر التحكّم لعرض عدّاد السرعة بجانب شاشة عرض الحد الأقصى للسرعة، ويتم تشغيل التنبيهات عندما تصل السرعة إلى حد معيّن.

تُصدر حزمة تطوير البرامج (SDK) الخاصة بخدمة Navigation تنبيهًا بسيطًا بشأن السرعة عندما يتجاوز المستخدم الحد الأقصى للسرعة بمقدار 5 ميل في الساعة (أو 10 كيلومتر في الساعة)، وتغيّر لون نص عدّاد السرعة إلى الأحمر. ويصدر تنبيهًا بشأن السرعة الزائدة عندما يتجاوز المستخدم الحد الأقصى للسرعة بمقدار 10 ميل في الساعة (أو 20 كيلومترًا في الساعة)، ويغيّر لون خلفية عدّاد السرعة إلى الأحمر.

يمكنك تخصيص كلّ من الحدّ الأدنى لتفعيل التنبيهات وألوان النص والخلفية التي يعرضها عدّاد السرعة. يمكنك أيضًا استخدام Navigation SDK لإتاحة معلومات سرعة المستخدم وفقًا للحدود التي حدّدتها. على سبيل المثال، يمكنك إتاحة معلومات السرعة لمشغّلي خدمات مشاركة الرحلات لمساعدتهم في تشجيع المستخدمين على الالتزام بالحد الأقصى للسرعة وتحسين السلامة.

تخصيص حدود تنبيهات السرعة

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

يضبط مثال الرمز البرمجي التالي الحدّ الأدنى لتنبيه السرعة البسيط على 5% فوق السرعة القصوى، والحدّ الأدنى لتنبيه السرعة الخطير على 10% فوق السرعة القصوى. ويحدّد أن تعرض الخريطة تنبيهًا بعد تجاوز حد التنبيه لمدة 5 ثوانٍ.


 float minorSpeedAlertThresholdPercentage = 5; float
majorSpeedAlertThresholdPercentage = 10; double severityUpgradeDurationSeconds =
5;

 // Configure SpeedAlertOptions SpeedAlertOptions.Builder
speedAlertOptionsBuilder = new SpeedAlertOptions.Builder();
speedAlertOptionsBuilder.setSpeedAlertThresholdPercentage(
SpeedAlertSeverity.MINOR, minorSpeedAlertThresholdPercentage);
speedAlertOptionsBuilder.setSpeedAlertThresholdPercentage(
SpeedAlertSeverity.MAJOR, majorSpeedAlertThresholdPercentage);
speedAlertOptionsBuilder.setSeverityUpgradeDurationSeconds(severityUpgradeDurationSeconds);

 // Set SpeedAlertOptions to Navigator.
navigator.setSpeedAlertOptions(speedAlertOptionsBuilder.build());

تخصيص طريقة عرض تنبيهات السرعة على عدّاد السرعة

لجعل تنبيهات السرعة أكثر جاذبية، يمكنك تخصيص ألوان عرض عدّاد السرعة لكل مستوى تنبيه.

يعرض الجدول التالي الألوان التلقائية لتنبيهات السرعة في الفئة NavigationView:

العنصراللون
MinorSpeedAlertBackgroundColorDayMode 0xffffff(أبيض)
MinorSpeedAlertBackgroundColorNightMode 0x000000
MinorSpeedAlertTextColorDayMode 0xd93025
MinorSpeedAlertTextColorNightMode 0xd93025
MajorSpeedAlertBackgroundColorDayMode 0xd93025
MajorSpeedAlertBackgroundColorNightMode 0xd93025
MajorSpeedAlertTextColorDayMode 0xffffff(أبيض)
MajorSpeedAlertTextColorNightMode 0xffffff(أبيض)

يمكنك تحديد لون النص والخلفية لعدّاد السرعة لكل من تنبيهات السرعة البسيطة والكبيرة:

 SpeedometerUiOptions speedometerUiOptions = new SpeedometerUiOptions.Builder()
 .setBackgroundColorDayMode(MINOR, some_color)
.setBackgroundColorNightMode(MINOR, some_color) .setTextColorDayMode(MINOR,
some_color) .setTextColorNightMode(MINOR, some_color)
.setBackgroundColorDayMode(MAJOR, some_color)
.setBackgroundColorNightMode(MAJOR, some_color) .setTextColorDayMode(MAJOR,
some_color) .setTextColorNightMode(MAJOR, some_color) .build();

 // Set SpeedometerUiOptions to NavigationView.
navigationView.setSpeedometerUiOptions(speedometerUiOptionsBuilder.build());
navigationView.setSpeedometerEnabled(true);

 // Set SpeedometerUiOptions to NavigationFragment.
navigationFragment.setSpeedometerUiOptions(speedometerUiOptionsBuilder.build());
 navigationFragment.setSpeedometerEnabled(true);

تلقّي معلومات السرعة من المستخدمين

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

تشارك عينة التعليمات البرمجية التالية معلومات السرعة عندما تكون السرعة أعلى من الحد المسموح به بنسبة مئوية محددة:

 // Existing flow for creating Navigator. NavigationApi.getNavigator();

 // Set the SpeedAlertOptions for the MAJOR and MINOR alerts. (Note that the //
severityUpgradeDurationSeconds field is by design not used in this flow.)
SpeedAlertOptions speedAlertOptions = ...;
navigator.setSpeedAlertOptions(speedAlertOptions);

 // Implement SpeedingListener. SpeedingListener speedingListener = new
SpeedingListener() { @Override public void onSpeedingUpdated(float
percentageAboveLimit, SpeedAlertSeverity speedAlertSeverity) { ... } };

 // Set speedingListener to Navigator.
navigator.setSpeedingListener(speedingListener);