Lorsque la navigation est activée et que le mode de déplacement est défini sur "Conduite", le SDK Navigation pour iOS affiche une commande de limite de vitesse dans l'angle inférieur gauche de la carte, qui indique la limite de vitesse actuelle. Si un conducteur dépasse la limite de vitesse, la commande s'étend pour afficher un compteur de vitesse à côté de l'affichage de la limite de vitesse et déclenche des alertes lorsque la vitesse atteint un certain seuil.
Par défaut, le SDK Navigation déclenche une alerte de vitesse mineure lorsque le conducteur dépasse la limite de vitesse de 8 km/h et change la couleur du texte du compteur de vitesse en rouge. Il déclenche une alerte de vitesse majeure lorsque le conducteur dépasse la limite de vitesse de 16 km/h et change la couleur d'arrière-plan du compteur de vitesse en rouge.
Vous pouvez personnaliser le seuil de déclenchement des alertes, ainsi que les couleurs du texte et d'arrière-plan affichées par le compteur de vitesse. Vous pouvez également utiliser le SDK Navigation pour rendre les informations sur la vitesse du conducteur disponibles. Par exemple, vous pouvez mettre les informations sur la vitesse à la disposition des opérateurs de covoiturage pour les aider à encourager leurs conducteurs à respecter la limite de vitesse et à améliorer la sécurité.
Personnaliser les seuils des alertes de vitesse
Vous pouvez personnaliser le seuil d'alerte de vitesse pour les alertes de vitesse mineures et majeures en pourcentage au-dessus de la limite de vitesse de la vitesse actuelle. Vous pouvez également spécifier la durée pendant laquelle le seuil est dépassé avant que la carte n'affiche l'alerte.
L'exemple de code suivant définit le seuil d'une alerte de vitesse mineure à 5 % au-dessus de la limite de vitesse et le seuil d'une alerte de vitesse majeure à 10 % au-dessus de la limite de vitesse. Il spécifie que la carte affiche une alerte après qu'un seuil d'alerte a été dépassé pendant cinq secondes.
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.
Personnaliser l'affichage des alertes de vitesse par le compteur de vitesse
Vous pouvez personnaliser les couleurs de l'affichage du compteur de vitesse pour chaque niveau d'alerte.
Le tableau suivant présente les couleurs par défaut des alertes de vitesse dans la classe GMSNavigationSpeedometerUIOptions :
| Élément | Couleur |
|---|---|
| MinorSpeedAlertBackgroundColorDayMode | 0xffffff(blanc) |
| MinorSpeedAlertBackgroundColorNightMode | 0x000000 |
| MinorSpeedAlertTextColorDayMode | 0xd93025 |
| MinorSpeedAlertTextColorNightMode | 0xd93025 |
| MajorSpeedAlertBackgroundColorDayMode | 0xd93025 |
| MajorSpeedAlertBackgroundColorNightMode | 0xd93025 |
| MajorSpeedAlertTextColorDayMode | 0xffffff(blanc) |
| MajorSpeedAlertTextColorNightMode | 0xffffff(blanc) |
Vous pouvez spécifier la couleur du texte et d'arrière-plan du compteur de vitesse pour les alertes de vitesse mineures et majeures :
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;
Recevoir des informations sur la vitesse des conducteurs
Si votre application nécessite le partage d'informations sur la vitesse du conducteur, vous pouvez également utiliser le SDK Navigation pour rendre les informations sur la vitesse du conducteur disponibles. Cela peut être utile pour les applications de covoiturage dans lesquelles un opérateur peut souhaiter surveiller les excès de vitesse des conducteurs afin d'améliorer la sécurité.
Par exemple, l'exemple suivant partage des informations sur la vitesse lorsque la vitesse dépasse un pourcentage spécifié au-dessus de la limite de vitesse :
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 { ... }