Wenn die Navigation aktiviert und der Fortbewegungsmodus auf „Fahren“ eingestellt ist, wird im Navigation SDK für iOS unten links auf der Karte ein Tempolimit-Steuerelement angezeigt, das das aktuelle Tempolimit angibt. Wenn ein Fahrer die Höchstgeschwindigkeit überschreitet, wird das Steuerelement maximiert und ein Tachometer neben der Anzeige der Höchstgeschwindigkeit eingeblendet. Außerdem werden Warnungen ausgelöst, wenn die Geschwindigkeit einen bestimmten Schwellenwert erreicht.
Standardmäßig löst das Navigation SDK eine geringfügige Geschwindigkeitsüberschreitung aus, wenn der Fahrer die Höchstgeschwindigkeit um 5 mph (oder 10 km/h) überschreitet, und ändert die Farbe des Tachotexts in Rot. Sie löst eine wichtige Geschwindigkeitsüberschreitungsbenachrichtigung aus, wenn der Fahrer die zulässige Höchstgeschwindigkeit um 16 km/h (10 mph) oder 20 km/h überschreitet, und ändert die Hintergrundfarbe des Tachometers in Rot.
Sie können sowohl den Schwellenwert für das Auslösen der Warnungen als auch die Text- und Hintergrundfarben des Tachometers anpassen. Sie können auch das Navigation SDK verwenden, um die Geschwindigkeitsinformationen des Fahrers verfügbar zu machen. Sie können beispielsweise Geschwindigkeitsinformationen für Mitfahrdienste bereitstellen, damit diese ihre Fahrer dazu anhalten, die Geschwindigkeitsbegrenzung einzuhalten und die Sicherheit zu verbessern.
Schwellenwerte für Geschwindigkeitswarnungen anpassen
Sie können den Grenzwert für Geschwindigkeitsüberschreitungen für geringfügige und schwerwiegende Geschwindigkeitsüberschreitungen als Prozentsatz über dem Tempolimit der aktuellen Geschwindigkeit anpassen. Sie können auch angeben, wie lange der Schwellenwert überschritten werden muss, bevor die Karte die Benachrichtigung anzeigt.
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 Schwellenwert für Benachrichtigungen 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 Tacho
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(white) |
| MajorSpeedAlertTextColorNightMode | 0xffffff(weiß) |
Sie können die Text- und Hintergrundfarbe des Tachometers für geringfügige und schwerwiegende Geschwindigkeitsüberschreitungen angeben:
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 benötigt, 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 weitergegeben, 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 { ... }