Configurar alertas do velocímetro

Quando a navegação está ativada, o SDK do Navigation para iOS mostra um controle de limite de velocidade no canto inferior esquerdo do mapa. Se um motorista exceder o limite de velocidade, o controle vai ser expandido para mostrar um velocímetro ao lado da tela do limite de velocidade e acionar alertas quando a velocidade atingir um determinado limite.

Por padrão, o SDK do Navigation aciona um pequeno alerta de velocidade quando o motorista excede o limite de velocidade em 10 km/h e muda a cor do texto do velocímetro para vermelho. Ele aciona um grande alerta de velocidade quando o motorista excede o limite de velocidade em 20 km/h e muda a cor de fundo do velocímetro para vermelha.

Você pode personalizar o limite para acionar os alertas e as cores do texto e do plano de fundo que o velocímetro exibe. Você também pode usar o SDK do Navigation para disponibilizar as informações de velocidade do motorista. Por exemplo, é possível disponibilizar informações de velocidade para os operadores de transporte por aplicativo a fim de incentivar os motoristas a respeitar o limite de velocidade e melhorar a segurança.

Personalização dos limites de alertas de velocidade

É possível personalizar o limite dos alertas de velocidade principais e secundários como uma porcentagem acima do limite da velocidade atual. Você também pode especificar por quanto tempo o limite é excedido antes que o mapa mostre o alerta.

O exemplo de código a seguir define o limite de um alerta de velocidade menor como 5% acima do limite e o limite de um alerta de velocidade principal como 10%. Especifica que o mapa mostra um alerta depois que um limite de alerta é excedido por cinco segundos.

Swift

deixar minorSpeedAlertThresholdPercentage: CGFloat = 0,05 let majorSpeedAlertThresholdPercentage: CGFloat = 0.1 let severityUpgradeDurationSeconds: TimeInterval = 5

// Configure SpeedAlertOptions let mutableSpeedAlertOptions: GMSNavigationMutableSpeedAlertAlertOptions = GMSNavigationMutableSpeedAlertOptions() mutableSpeedAlertOptions.setSpeedAlertThresholdPercentage(minorSpeedAlertThresholdPercentage, para: .minor) mutableSpeedAlertAlertOptions.setSpeedAlertThresholdPercentage(majorSpeedAlertAlertThresholdPercentage(majorSpeedAlertAlertThresholdPercentage,) severityableAlertSeconds

// Definir SpeedAlertOptions como Navigator. mapView.navigator?.speedAlertOptions = mutableSpeedAlertOptions; mapView.navigator?.add(self); // Necessário apenas se você estiver ouvindo os eventos delegados.

Objective-C

estático const CGFloat minorSpeedAlertThresholdPercentage = 0,05; estático const CGFloat majorSpeedAlertThresholdPercentage = 0.1; estático const NSTimeInterval severityUpgradeDurationSeconds = 5;

// Configurar SpeedAlertOptions GMSNavigationMutableSpeedAlertOptions *mutableSpeedAlertOptions = [[GMSNavigationMutableSpeedAlertDurationOptions alloc] init]; [mutableSpeedAlertDurationOptions setSpeedAlertThresholdPercentage: minorSpeedAlertThresholdPercentage forSpeedAlertSeverity:GMSNavigationSpeedAlertSeverityMinor]; [GMSSpeedAlertThresholdSever SpeedThreshold]; [GMSSpeedAlertThresholdSstatus

// Defina SpeedAlertOptions como Navigator. mapView.navigator.speedAlertOptions = mutableSpeedAlertOptions; [mapView.navigator addListener:self]; // Só é necessário se estiver ouvindo os eventos delegados.

Personalizar como o velocímetro mostra alertas de velocidade

Você pode personalizar as cores da tela do velocímetro para cada nível de alerta.

A tabela abaixo mostra as cores padrão dos alertas de velocidade na classe GMSNavigationSpeedometerUIOptions:

ElementoCor
MinorSpeedAlertBackgroundColorDayMode 0xffffff(branco)
MinorSpeedAlertBackgroundColorNightMode 0x000000
MinorSpeedAlertTextColorDayMode 0xd93025
MinorSpeedAlertTextColorNightMode 0xd93025
MajorSpeedAlertBackgroundColorDayMode 0xd93025
MajorSpeedAlertBackgroundColorNightMode 0xd93025
MajorSpeedAlertTextColorDayMode 0xffffff(branco)
MajorSpeedAlertTextColorNightMode 0xffffff(branco)

Você pode especificar a cor do texto e do plano de fundo do velocímetro para alertas de velocidade menores e maiores:

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

MaiorVelocidade

mapView.settings.speedometerUIOptions = mutableSpeedometerUIOptions;

Receber informações de velocidade dos motoristas

Caso seu aplicativo exija o compartilhamento de informações sobre a velocidade do motorista, você também pode usar o SDK do Navigation para disponibilizar essas informações. Isso pode ser útil para aplicativos de transporte por aplicativo em que um operador quer monitorar o excesso de velocidade dos motoristas para aumentar a segurança.

Por exemplo, o exemplo a seguir compartilha informações de velocidade quando ela é uma porcentagem especificada acima do limite:

Swift

// Método do listener para compartilhar informações de velocidade quando a velocidade excede o limite de velocidade em uma porcentagem especificada. #pragma mark mark GMSNavigatorListener função Navigator(_ Navigator : GMSNavigator, didUpdateSpeedingPercentage percentageAboveLimit : Float) { ... }

Objective-C

// Método listener que detecta feed em alta velocidade. #pragma mark GMSNavigatorListener - (void)navigator:(GMSNavigator *)navigator didUpdateSpeedingPercentage:(float)percentageAboveLimit { ... }