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

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

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

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

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

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

يوضّح مثال الرمز التالي كيفية ضبط الحدّ الأدنى لتنبيه السرعة الطفيف على 5% فوق السرعة القصوى، والحدّ الأدنى لتنبيه السرعة الكبير على 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 { ... }