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

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

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

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

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

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

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

Swift

let minorSpeedAlertThresholdPercentage: CGFloat = 0.05 let
majorSpeedAlertThresholdPercentage: CGFloat = 0.1 let
severityUpgradeDurationSeconds: TimeInterval = 5

// Configure SpeedAlertOptions let mutableSpeedAlertOptions:
GMSNavigationMutableSpeedAlertOptions = GMSNavigationMutableSpeedAlertOptions()
 mutableSpeedAlertOptions.setSpeedAlertThresholdPercentage(minorSpeedAlertThresholdPercentage,
for: .minor)
mutableSpeedAlertOptions.setSpeedAlertThresholdPercentage(majorSpeedAlertThresholdPercentage,
for: .major) mutableSpeedAlertOptions.severityUpgradeDurationSeconds =
severityUpgradeDurationSeconds

// Set SpeedAlertOptions to Navigator. mapView.navigator?.speedAlertOptions =
mutableSpeedAlertOptions; mapView.navigator?.add(self); // Only needed if
listening to the delegate events.

Objective-C

static const CGFloat minorSpeedAlertThresholdPercentage = 0.05; static const
CGFloat majorSpeedAlertThresholdPercentage = 0.1; static const NSTimeInterval
severityUpgradeDurationSeconds = 5;

// Configure SpeedAlertOptions GMSNavigationMutableSpeedAlertOptions
*mutableSpeedAlertOptions = [[GMSNavigationMutableSpeedAlertOptions alloc]
init]; [mutableSpeedAlertOptions setSpeedAlertThresholdPercentage:
minorSpeedAlertThresholdPercentage
forSpeedAlertSeverity:GMSNavigationSpeedAlertSeverityMinor];
[mutableSpeedAlertOptions
setSpeedAlertThresholdPercentage:majorSpeedAlertThresholdPercentage
forSpeedAlertSeverity:GMSNavigationSpeedAlertSeverityMajor];
[mutableSpeedAlertOptions
setSeverityUpgradeDurationSeconds:severityUpgradeDurationSeconds];

// Set SpeedAlertOptions to Navigator. mapView.navigator.speedAlertOptions =
mutableSpeedAlertOptions; [mapView.navigator addListener:self]; // Only needed
if listening to the delegate events.

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

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

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

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

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

Swift

let mutableSpeedometerUIOptions: GMSNavigationMutableSpeedometerUIOptions =
GMSNavigationMutableSpeedometerUIOptions()
mutableSpeedometerUIOptions.setTextColor(minorSpeedAlertTextColor, for: .minor,
lightingMode: .normal)
mutableSpeedometerUIOptions.setTextColor(majorSpeedAlertTextColor, for: .major,
lightingMode: .normal)
mutableSpeedometerUIOptions.setBackgroundColor(minorSpeedAlertNightModeBackgroundColor,
for: .minor, lightingMode: .lowLight)
mutableSpeedometerUIOptions.setBackgroundColor(majorSpeedAlertDayModeBackgroundColor,
for: .major, lightingMode: .normal)

mapView.settings.speedometerUIOptions = mutableSpeedometerUIOptions

Objective-C

GMSNavigationMutableSpeedometerUIOptions *mutableSpeedometerUIOptions =
[[GMSNavigationMutableSpeedometerUIOptions alloc] init];
[mutableSpeedometerUIOptions setTextColor: minorSpeedAlertTextColor
forSpeedAlertSeverity: GMSNavigationSpeedAlertSeverityMinor lightingMode:
GMSNavigationLightingModeNormal]; [mutableSpeedometerUIOptions setTextColor:
majorSpeedAlertTextColor forSpeedAlertSeverity:
GMSNavigationSpeedAlertSeverityMajor lightingMode:
GMSNavigationLightingModeNormal]; [mutableSpeedometerUIOptions
setBackgroundColor: minorSpeedAlertNightModeBackgroundColor
forSpeedAlertSeverity: GMSNavigationSpeedAlertSeverityMinor lightingMode:
GMSNavigationLightingModeLowLight]; [mutableSpeedometerUIOptions
setBackgroundColor: majorSpeedAlertDayModeBackgroundColor forSpeedAlertSeverity:
GMSNavigationSpeedAlertSeverityMajor
lightingMode:GMSNavigationLightingModeNormal];

mapView.settings.speedometerUIOptions = mutableSpeedometerUIOptions;

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

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

على سبيل المثال، يشارك المثال التالي معلومات السرعة عندما تكون السرعة نسبة مئوية محدّدة فوق حدّ السرعة:

Swift

// Listener method for sharing speed information when the speed exceeds the
speed limit by a specified percentage. #pragma mark GMSNavigatorListener func
navigator(_ navigator : GMSNavigator, didUpdateSpeedingPercentage
percentageAboveLimit : Float) { ... }

Objective-C

// Listener method listening to speeding feed. #pragma mark
GMSNavigatorListener - (void)navigator:(GMSNavigator *)navigator
didUpdateSpeedingPercentage:(float)percentageAboveLimit { ... }