Configurer les alertes du compteur de vitesse

Lorsque la navigation est activée et que le mode de transport est défini sur "En voiture", la fonctionnalité Navigation Le SDK pour iOS affiche une commande de limitation de vitesse dans l'angle inférieur gauche de la carte indiquant la limitation de vitesse actuelle. Si un conducteur dépasse la limitation de vitesse, la se développe pour afficher un compteur de vitesse à côté de l'affichage de la limitation de vitesse. déclenche des alertes lorsque la vitesse atteint un certain seuil.

Par défaut, le SDK Navigation déclenche une alerte mineure concernant la vitesse lorsque le conducteur dépasse la limite de 5 mph (ou 10 km/h) et modifie la couleur du le compteur de vitesse en rouge. Il déclenche une alerte de vitesse importante lorsque le conducteur dépasse limite de vitesse de 20 km/h et modifie l'arrière-plan du compteur de vitesse en rouge.

Vous pouvez personnaliser le seuil de déclenchement des alertes, ainsi que le texte et couleurs d'arrière-plan affichées par le compteur de vitesse. Vous pouvez aussi utiliser le SDK Navigation pour rendre disponibles les informations sur la vitesse du conducteur. Par exemple, vous pouvez faire les informations sur la vitesse sont mises à la disposition des opérateurs de partage de course afin de les encourager aux conducteurs de respecter la limitation de vitesse et d’améliorer la sécurité.

Personnalisation des seuils pour les alertes de vitesse

Vous pouvez personnaliser le seuil d'alerte de vitesse pour les vitesses mineures et majeures s'affichent sous forme de pourcentage au-delà de la limitation de 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 sur cinq pour cent au-dessus de la limite de vitesse et le seuil d'une alerte de vitesse importante à 10 pour cent au-dessus de la limite de vitesse. Il indique que la carte affiche une alerte après 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 sur le compteur de vitesse

Vous pouvez personnaliser les couleurs d'affichage du compteur de vitesse pour chaque niveau d'alerte.

Le tableau suivant indique les couleurs par défaut des alertes de vitesse dans le champ Classe GMSNavigationSpeedometerUIOptions:

ÉlémentCouleur
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 de l'arrière-plan du compteur de vitesse pour les notes mineures et les principales alertes de vitesse:

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 de la part des conducteurs

Si votre application nécessite de partager des informations sur la vitesse des conducteurs, vous pouvez utiliser également le SDK Navigation pour rendre disponibles les informations sur la vitesse du conducteur. Cela peut être utile pour les applications de partage de course pour lesquelles un opérateur peut vouloir Surveiller les excès de vitesse excessifs des conducteurs afin d'améliorer la sécurité

Par exemple, l'exemple suivant partage des informations sur la vitesse lorsque la vitesse est pourcentage spécifié au-delà de la limitation 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 { ... }