Wenn die Navigation aktiviert und der Reisemodus auf „Mit dem Auto“ eingestellt ist, wird im Navigation SDK for iOS unten links auf der Karte eine Geschwindigkeitsbegrenzung angezeigt. Wenn ein Fahrer die zulässige Höchstgeschwindigkeit überschreitet, wird das Steuerelement erweitert und neben der Anzeige der zulässigen Höchstgeschwindigkeit wird ein Tacho angezeigt. Außerdem werden Warnungen ausgelöst, wenn die Geschwindigkeit einen bestimmten Grenzwert erreicht.
Standardmäßig löst das Navigation SDK eine geringfügige Geschwindigkeitsüberschreitungsbenachrichtigung aus, wenn der Fahrer die Höchstgeschwindigkeit um 8 km/h überschreitet, und ändert die Farbe des Tachotexts in Rot. Sie löst eine wichtige Geschwindigkeitsüberschreitungsbenachrichtigung aus, wenn der Fahrer die Geschwindigkeitsbegrenzung um 16 km/h (oder 20 km/h) überschreitet, und ändert die Hintergrundfarbe des Tachos in Rot.
Sie können sowohl den Schwellenwert für das Auslösen der Benachrichtigungen als auch die Text- und Hintergrundfarben anpassen, die auf dem Tachometer angezeigt werden. Sie können auch das Navigation SDK verwenden, um die Geschwindigkeitsinformationen des Fahrers verfügbar zu machen. Sie könnten beispielsweise Informationen zur Geschwindigkeit für Fahrdiensteanbieter verfügbar machen, damit diese ihre Fahrer dazu anhalten können, sich an die Geschwindigkeitsbegrenzung zu halten und die Sicherheit zu verbessern.
Schwellenwerte für Geschwindigkeitswarnungen anpassen
Sie können den Schwellenwert für Geschwindigkeitsüberschreitungen für geringfügige und schwerwiegende Geschwindigkeitsüberschreitungen als Prozentsatz über der Geschwindigkeitsbegrenzung der aktuellen Geschwindigkeit anpassen. Sie können auch festlegen, wie lange der Grenzwert überschritten werden muss, bevor die Benachrichtigung auf der Karte angezeigt wird.
Im folgenden Codebeispiel wird der Grenzwert für eine geringfügige Geschwindigkeitsüberschreitung auf 5 % über dem Tempolimit und der Grenzwert für eine erhebliche Geschwindigkeitsüberschreitung auf 10 % über dem Tempolimit festgelegt. Sie gibt an, dass auf der Karte eine Benachrichtigung angezeigt wird, nachdem ein Benachrichtigungsgrenzwert fünf Sekunden lang überschritten wurde.
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.
Anpassen der Darstellung von Geschwindigkeitswarnungen auf dem Tachometer
Sie können die Farben der Tachometeranzeige für jede Warnstufe anpassen.
In der folgenden Tabelle sind die Standardfarben für Geschwindigkeitswarnungen in der Klasse GMSNavigationSpeedometerUIOptions
aufgeführt:
Element | Farbe |
---|---|
MinorSpeedAlertBackgroundColorDayMode | 0xffffff(weiß) |
MinorSpeedAlertBackgroundColorNightMode | 0x000000 |
MinorSpeedAlertTextColorDayMode | 0xd93025 |
MinorSpeedAlertTextColorNightMode | 0xd93025 |
MajorSpeedAlertBackgroundColorDayMode | 0xd93025 |
MajorSpeedAlertBackgroundColorNightMode | 0xd93025 |
MajorSpeedAlertTextColorDayMode | 0xffffff(weiß) |
MajorSpeedAlertTextColorNightMode | 0xffffff(weiß) |
Sie können die Text- und Hintergrundfarbe des Tachometers für geringfügige und schwerwiegende Geschwindigkeitsüberschreitungen festlegen:
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;
Geschwindigkeitsinformationen von Fahrern erhalten
Wenn Ihre Anwendung Informationen zur Geschwindigkeit des Fahrers weitergeben muss, können Sie auch das Navigation SDK verwenden, um die Geschwindigkeitsinformationen des Fahrers verfügbar zu machen. Das kann für Mitfahrdienste nützlich sein, bei denen ein Betreiber überhöhte Geschwindigkeiten von Fahrern überwachen möchte, um die Sicherheit zu verbessern.
Im folgenden Beispiel werden Geschwindigkeitsinformationen geteilt, wenn die Geschwindigkeit einen bestimmten Prozentsatz über der Geschwindigkeitsbegrenzung liegt:
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 { ... }