عند تفعيل ميزة التنقّل وضبط وضع السفر على القيادة، تعرض حزمة تطوير البرامج (SDK) للتنقّل في نظام التشغيل iOS عنصر تحكّم في الحدّ الأقصى للسرعة في أسفل يمين الخريطة يعرض الحدّ الأقصى الحالي للسرعة. إذا تجاوز السائق الحد الأقصى للسرعة، يتوسّع عنصر التحكّم لعرض عدّاد السرعة بجانب عرض الحد الأقصى للسرعة، ويتم إرسال تنبيهات عندما تصل السرعة إلى حدّ معيّن.
تُصدر حزمة تطوير البرامج (SDK) للتنقّل تلقائيًا تنبيهًا بسيطًا بشأن السرعة عندما يتجاوز السائق الحدّ الأقصى للسرعة بمقدار 5 أميال في الساعة (أو 10 كيلومترات في الساعة)، وتغيّر لون نص عدّاد السرعة إلى الأحمر. يتم تفعيل تنبيه كبير بشأن السرعة عندما يتجاوز السائق الحد الأقصى للسرعة بمقدار 10 أميال في الساعة (أو 20 كيلومترًا في الساعة)، ويتغيّر لون خلفية عدّاد السرعة إلى الأحمر.
يمكنك تخصيص كل من الحد الأدنى لتفعيل التنبيهات والنص وألوان الخلفية التي يعرضها عداد السرعة. يمكنك أيضًا استخدام حزمة تطوير البرامج (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;
تلقّي معلومات عن السرعة من السائقين
إذا كان تطبيقك يتطلّب مشاركة معلومات حول سرعة السائق، يمكنك أيضًا استخدام حزمة تطوير البرامج (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 { ... }