Configura alertas del velocímetro

Cuando la navegación está habilitada, el SDK de Navigation para iOS muestra un control de límite de velocidad en la esquina inferior izquierda del mapa que muestra el límite de velocidad actual. Si un conductor supera el límite de velocidad, el control se expande para mostrar un velocímetro junto a la pantalla del límite de velocidad y activa alertas cuando la velocidad alcanza un umbral determinado.

De forma predeterminada, el SDK de Navigation activa una alerta menor de velocidad cuando el conductor supera el límite de velocidad en 10 km/h (5 mph) y cambia el color del texto del velocímetro a rojo. Activa una alerta de velocidad importante cuando el conductor supera el límite de velocidad en 20 km/h (10 mph) y cambia el color de fondo del velocímetro a rojo.

Puedes personalizar el umbral para activar las alertas y los colores de texto y fondo que muestra el velocímetro. También puedes usar el SDK de Navigation para que la información de velocidad del conductor esté disponible. Por ejemplo, puedes poner a disposición de los operadores de viajes compartidos información sobre la velocidad para ayudarlos a alentar a sus conductores a cumplir con los límites de velocidad y mejorar la seguridad.

Personaliza los umbrales para las alertas de velocidad

Puedes personalizar el umbral de las alertas de velocidad para las alertas de velocidad menores y mayores como un porcentaje sobre el límite de velocidad actual. También puedes especificar durante cuánto tiempo se debe superar el umbral para que el mapa muestre la alerta.

En el siguiente ejemplo de código, se establece el umbral de una alerta de velocidad menor en un cinco por ciento sobre el límite de velocidad y el umbral de una alerta de velocidad importante en un 10 por ciento sobre el límite de velocidad. Especifica que el mapa muestra una alerta después de que se supera un umbral de alerta durante cinco segundos.

Swift

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

// Configura SpeedAlertOptions permite que mutableSpeedAlertOptions: GMSNavigationMutableSpeedAlertOptions = GMSNavigationMutableSpeedAlertOptions() mutableSpeedAlertOptions.setSpeedAlertThresholdPercentage(minorSpeedAlertThresholdPercentage, for: .minor) mutableSpeedAlertAlertOptions.setSpeedAlertThresholdPercentage(majorSpeedAlertPercentage, for: severityValueSpeedsegundo

// Establece SpeedAlertOptions en Navigator. mapView.navigator?.speedAlertOptions = mutableSpeedAlertOptions; mapView.navigator?.add(self); // Solo es necesario si se escuchan los eventos delegados.

Objective‑C

const estático CGFloat minorSpeedAlertThresholdPercentage = 0.05; const estático CGFloat mainSpeedAlertThresholdPercentage = 0.1; const estática NSTimeInterval severityUpgradeDurationSeconds = 5;

// Configurar SpeedAlertOptions GMSNavigationMutableSpeedAlertOptions

// Establece SpeedAlertOptions como Navigator. mapView.navigator.speedAlertOptions = mutableSpeedAlertOptions; [mapView.navigator addListener:self]; // Solo es necesario si se escuchan los eventos delegados.

Cómo personalizar la forma en que el velocímetro muestra las alertas de velocidad

Puedes personalizar los colores de la pantalla del velocímetro para cada nivel de alerta.

En la siguiente tabla, se muestran los colores predeterminados de las alertas de velocidad de la clase GMSNavigationSpeedometerUIOptions:

ElementoColor
MinorSpeedAlertBackgroundColorDayMode 0xffffff(blanco)
MinorSpeedAlertBackgroundColorNightMode 0x000000
MinorSpeedAlertTextColorDayMode 0xd93025
MinorSpeedAlertTextColorNightMode 0xd93025
MajorSpeedAlertBackgroundColorDayMode 0xd93025
MajorSpeedAlertBackgroundColorNightMode 0xd93025
MajorSpeedAlertTextColorDayMode 0xffffff(blanco)
MajorSpeedAlertTextColorNightMode 0xffffff(blanco)

Puedes especificar el texto y el color de fondo del velocímetro para las alertas de velocidad mayor y menor:

Swift

letSpeedometerUIOptions: GMSNavigationMutableSpeedometerUIOptions = GMSNavigationMutableSpeedometerUIOptions() mutableSpeedometerUIOptions.setTextColor(minorSpeedAlertTextColor, para: .minor, lightingMode: .normal) mutableSpeedometerUIOptions.setTextColor(majorSpeedAlertTextColor, para: .mutable

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;

Cómo recibir información sobre la velocidad de los conductores

Si tu aplicación requiere compartir información sobre la velocidad del conductor, también puedes usar el SDK de Navigation para que la información de velocidad del conductor esté disponible. Esto puede ser útil para las aplicaciones de transporte compartido en las que el operador desea supervisar el exceso de velocidad de los conductores para mejorar la seguridad.

En el siguiente ejemplo, se comparte información de velocidad cuando la velocidad supera el límite en un porcentaje especificado:

Swift

// Método de escucha para compartir información de velocidad cuando la velocidad supera el límite de velocidad en un porcentaje especificado #pragma mark GMSNavigatorListener func navigator(_ navigator : GMSNavigator, didUpdateSpeedingPercentage percentageAboveLimit : Float) { ... }

Objective‑C

// Método del objeto de escucha que escucha un feed de límite de velocidad. #pragma mark GMSNavigatorListener - (void)navigator:(GMSNavigator *)navigator didUpdateSpeedingPercentage:(float)percentageAboveLimit { ... }