Wenn die Navigation aktiviert ist und der Mobilitätsmodus auf „Autofahren“ eingestellt ist, zeigt das Navigations-SDK für iOS unten links auf der Karte ein Steuerelement für die Geschwindigkeitsbegrenzung an, das die aktuelle Geschwindigkeitsbegrenzung anzeigt. Wenn ein Fahrer das Tempolimit überschreitet, wird die Steuerung maximiert, um neben der Anzeige der zulässigen Höchstgeschwindigkeit einen Tachometer anzuzeigen. Außerdem werden Warnungen ausgelöst, wenn die Geschwindigkeit einen bestimmten Grenzwert erreicht.
Standardmäßig löst das Navigations-SDK eine geringfügige Geschwindigkeitswarnung aus, wenn der Fahrer die Geschwindigkeitsbeschränkung um 10 km/h überschreitet, und ändert die Farbe des Tachotexts in Rot. Wenn der Fahrer das Tempolimit um 20 km/h überschreitet, wird eine deutliche Geschwindigkeitswarnung ausgelöst und die Tacho-Hintergrundfarbe ändert sich zu Rot.
Sie können sowohl den Grenzwert für das Auslösen der Benachrichtigungen als auch die Text- und Hintergrundfarben des Tachometers anpassen. Sie können auch das Navigations-SDK verwenden, um die Geschwindigkeitsinformationen des Fahrers verfügbar zu machen. Sie können beispielsweise Informationen zur Geschwindigkeit für Anbieter von Fahrdiensten zur Verfügung stellen, damit diese ihre Fahrer dazu anregen können, die Geschwindigkeitsbegrenzung einzuhalten und die Sicherheit zu verbessern.
Grenzwerte für Geschwindigkeitswarnungen anpassen
Sie können den Schwellenwert für Geschwindigkeitswarnungen sowohl für geringfügige als auch für erhebliche Geschwindigkeitsüberschreitungen als Prozentsatz über dem Geschwindigkeitslimit der aktuellen Geschwindigkeit anpassen. Sie können auch angeben, wie lange der Grenzwert ü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 zulässigen Tempo festgelegt und der Grenzwert für eine erhebliche Geschwindigkeitsüberschreitung auf 10 % über dem zulässigen Tempo. Hier wird angegeben, 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.
Geschwindigkeitswarnungen im Tachometer anpassen
Sie können die Farben des Tachometers 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 sowohl für geringfügige als auch für erhebliche 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 empfangen
Wenn für Ihre Anwendung Informationen zur Fahrergeschwindigkeit freigegeben werden müssen, können Sie auch das Navigations-SDK verwenden, um die Geschwindigkeitsinformationen des Fahrers verfügbar zu machen. Das kann für Fahrdienst-Apps nützlich sein, bei denen ein Betreiber das übermäßige Beschleunigen von Fahrern im Blick behalten möchte, um die Sicherheit zu verbessern.
Im folgenden Beispiel werden beispielsweise Geschwindigkeitsinformationen geteilt, wenn die Geschwindigkeit um einen bestimmten Prozentsatz über dem zulässigen Grenzwert 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 { ... }