Настроить оповещения спидометра

Когда навигация включена, Navigation SDK для iOS отображает элемент управления ограничением скорости в левом нижнем углу карты, который показывает текущее ограничение скорости. Если водитель превышает ограничение скорости, элемент управления расширяется и отображает спидометр рядом с дисплеем ограничения скорости и запускает оповещения, когда скорость достигает определенного порога.

По умолчанию Navigation SDK выдает незначительное предупреждение о скорости, когда водитель превышает ограничение скорости на 5 миль в час (или 10 км/ч), и меняет цвет текста спидометра на красный. Он активирует серьезное предупреждение о превышении скорости, когда водитель превышает ограничение скорости на 10 миль в час (или 20 км/ч), и меняет цвет фона спидометра на красный.

Вы можете настроить как порог срабатывания предупреждений, так и цвет текста и фона, отображаемый спидометром. Вы также можете использовать Navigation SDK, чтобы сделать доступной информацию о скорости водителя. Например, вы можете предоставить информацию о скорости операторам совместных поездок, чтобы помочь им побудить своих водителей соблюдать ограничение скорости и повысить безопасность.

Настройка пороговых значений для предупреждений о скорости

Вы можете настроить порог предупреждения о скорости как для второстепенных, так и для серьезных предупреждений о скорости в процентах от ограничения текущей скорости. Вы также можете указать, как долго будет превышено пороговое значение, прежде чем на карте отобразится предупреждение.

В следующем примере кода пороговое значение для незначительного предупреждения о скорости устанавливается на пять процентов выше ограничения скорости, а пороговое значение для серьезного предупреждения о скорости — на 10 процентов выше ограничения скорости. Он указывает, что на карте отображается предупреждение после превышения порога предупреждения в течение пяти секунд.

Быстрый

letminorSpeedAlertThresholdPercentage: CGFloat = 0,05 let majorSpeedAlertThresholdPercentage: CGFloat = 0,1 let серьезностьUpgradeDurationSeconds: TimeInterval = 5

// Настройка SpeedAlertOptions позволяет mutableSpeedAlertOptions: GMSNavigationMutableSpeedAlertOptions = GMSNavigationMutableSpeedAlertOptions() mutableSpeedAlertOptions.setSpeedAlertThresholdPercentage(minorSpeedAlertThresholdPercentage, for: .minor) mutableSpeedAlertOptions.setSpeedAlertThresholdPercentage(ma) jorSpeedAlertThresholdPercentage, для: .major) mutableSpeedAlertOptions.severityUpgradeDurationSeconds = серьёзностьUpgradeDurationSeconds

// Установите для SpeedAlertOptions значение Navigator. mapView.navigator?.speedAlertOptions = mutableSpeedAlertOptions; MapView.navigator?.add(self); // Требуется только при прослушивании событий делегата.

Цель-C

статическая константа CGFloatminorSpeedAlertThresholdPercentage = 0,05; статическая константа CGFloat majorSpeedAlertThresholdPercentage = 0,1; статическая константа NSTimeInterval серьезностьUpgradeDurationSeconds = 5;

// Настройка SpeedAlertOptions GMSNavigationMutableSpeedAlertOptions *mutableSpeedAlertOptions = [[GMSNavigationMutableSpeedAlertOptions alloc] init]; [mutableSpeedAlertOptions setSpeedAlertThresholdPercentage:minorSpeedAlertThresholdPercentage forSpeedAlertSeverity:GMSNavigationSpeedAlertSeverityMinor]; [mutableSpeedAlertOptions setSpeedAlertThresholdPercentage: majorSpeedAlertThresholdPercentage forSpeedAlertSeverity: GMSNavigationSpeedAlertSeverityMajor]; [mutableSpeedAlertOptions setSeverityUpgradeDurationSeconds:severityUpgradeDurationSeconds];

// Установите для SpeedAlertOptions значение Navigator. mapView.navigator.speedAlertOptions = mutableSpeedAlertOptions; [mapView.navigator addListener:self]; // Требуется только при прослушивании событий делегата.

Настройка отображения на спидометре предупреждений о скорости

Вы можете настроить цвета дисплея спидометра для каждого уровня оповещения.

В следующей таблице показаны цвета по умолчанию для предупреждений о скорости в классе GMSNavigationSpeedometerUIOptions :

Элемент Цвет
НезначительныйСкоростьОповещениеФонЦветДеньРежим 0xffffff (белый)
НезначительныйСкоростьОповещениеФонЦветНочьРежим 0x000000
MinorSpeedAlertTextColorDayMode 0xd93025
MinorSpeedAlertTextColorNightMode 0xd93025
ОсновнойСкоростьОповещениеФонЦветДеньРежим 0xd93025
ОсновныеСкоростьОповещениеФонЦветНочьРежим 0xd93025
MajorSpeedAlertTextColorDayMode 0xffffff (белый)
MajorSpeedAlertTextColorNightMode 0xffffff (белый)

Вы можете указать цвет текста и фона спидометра как для второстепенных, так и для основных предупреждений о скорости:

Быстрый

let mutableSpeedometerUIOptions: GMSNavigationMutableSpeedometerUIOptions = GMSNavigationMutableSpeedometerUIOptions() mutableSpeedometerUIOptions.setTextColor(minorSpeedAlertTextColor, for: .minor, LightningMode: .normal) mutableSpeedometerUIOptions.setTextColor(majorSpeedAlertTextColor, for: .major, LightingMode: .normal) ) mutableSpeedometerUIOptions.setBackgroundColor(minorSpeedAlertNightModeBackgroundColor, для: .minor , LightingMode: .lowLight) mutableSpeedometerUIOptions.setBackgroundColor(majorSpeedAlertDayModeBackgroundColor, for: .major, LightingMode: .normal)

mapView.settings.speedometerUIOptions = mutableSpeedometerUIOptions

Цель-C

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

mapView.settings.speedometerUIOptions = mutableSpeedometerUIOptions;

Получение информации о скорости от водителей

Если вашему приложению требуется обмен информацией о скорости водителя, вы также можете использовать Navigation SDK, чтобы сделать информацию о скорости водителя доступной. Это может быть полезно для приложений совместного пользования, в которых оператор может захотеть отслеживать превышение скорости водителями для повышения безопасности.

Например, в следующем примере информация о скорости передается, когда скорость превышает заданный процент скорости:

Быстрый

// Метод прослушивателя для обмена информацией о скорости, когда скорость превышает ограничение скорости на указанный процент. #pragma mark GMSNavigatorListener func navigator(_ navigator: GMSNavigator, DidUpdateSpeedingPercentage процентAboveLimit: Float) { ... }

Цель-C

// Метод прослушивателя, слушающий превышение скорости подачи. #pragma mark GMSNavigatorListener - (void)navigator:(GMSNavigator *)navigator DidUpdateSpeedingPercentage:(float)percentageAboveLimit { ... }