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
:
Elemento | Cor |
---|---|
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 { ... }