عند تفعيل التنقّل، تعرِض حزمة تطوير البرامج (SDK) لميزة التنقّل على Android عنصر تحكّم في الحد الأقصى للسرعة في أسفل يمين الخريطة يعرض الحد الأقصى الحالي للسرعة. إذا تجاوز أحد المستخدمين الحد الأقصى للسرعة، يتم توسيع وحدة التحكّم لعرض عداد سرعة بجانب شاشة الحد الأقصى للسرعة وتنشيط التنبيهات عندما تصل السرعة إلى حد معيّن.
يُطلق حِزم تطوير البرامج (SDK) لنظام التنقّل تلقائيًا تنبيهًا بسيطًا بشأن السرعة عندما يتجاوز المستخدِم الحد الأقصى للسرعة بمقدار 5 أميال في الساعة (أو 10 كيلومتر في الساعة)، ويغيّر لون عداد السرعة إلى الأحمر. ويُطلق هذا الجهاز تنبيهًا كبيرًا بشأن السرعة عندما يتجاوز المستخدِم السرعة القصوى بمقدار 10 ميل في الساعة (أو 20 كيلومتر في الساعة)، ويغيّر لون خلفية مقياس السرعة إلى اللون الأحمر.
يمكنك تخصيص حدّ السرعة الذي يتم عنده تشغيل التنبيهات وألوان النص والخلفية التي يعرضها مقياس السرعة. يمكنك أيضًا استخدام حزمة تطوير البرامج Navigation SDK لإتاحة معلومات سرعة المستخدم وفقًا للحدود القصوى التي حدّدتها. على سبيل المثال، يمكنك إتاحة معلومات السرعة لمشغّلي خدمات مشاركة الرحلات لمساعدتهم في تشجيع المستخدمين على الالتزام بالسرعة القصوى وتحسين السلامة.
تخصيص الحدود القصوى لتنبيهات السرعة
يمكنك تخصيص الحدّ الأدنى لتنبيهات السرعة لكلّ من تنبيهات السرعة الطفيفة والكبيرة كنسبة مئوية تزيد عن الحدّ الأقصى للسرعة الحالية. يمكنك أيضًا تحديد مدة تجاوز الحدّ الأقصى قبل أن تعرِض الخريطة التنبيه.
يضبط مثال الرمز البرمجي التالي الحدّ الأدنى لتنبيه السرعة البسيط على خمسة بالمئة فوق الحدّ الأقصى للسرعة، والحدّ الأدنى لتنبيه السرعة الكبير على 10 بالمئة فوق الحدّ الأقصى للسرعة. يحدّد هذا الإعداد أنّ الخريطة تعرِض تنبيهًا بعد تجاوز الحدّ الأدنى للتنبيه لمدة خمس ثوانٍ.
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(white) |
MinorSpeedAlertBackgroundColorNightMode | 0x000000 |
MinorSpeedAlertTextColorDayMode | 0xd93025 |
MinorSpeedAlertTextColorNightMode | 0xd93025 |
MajorSpeedAlertBackgroundColorDayMode | 0xd93025 |
MajorSpeedAlertBackgroundColorNightMode | 0xd93025 |
MajorSpeedAlertTextColorDayMode | 0xffffff(white) |
MajorSpeedAlertTextColorNightMode | 0xffffff(white) |
يمكنك تحديد لون النص ولون الخلفية لمقياس السرعة لكل من تنبيهات السرعة المنخفضة والمرتفعة:
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 SupportNavigationFragment.
supportNavigationFragment.setSpeedometerUiOptions(speedometerUiOptionsBuilder.build());
supportNavigationFragment.setSpeedometerEnabled(true);
تلقّي معلومات السرعة من المستخدمين
إذا كان تطبيقك يتطلّب مشاركة معلومات عن سرعة المستخدم، يمكنك أيضًا استخدام حزمة تطوير البرامج (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);