Wenn die Navigation aktiviert und der Reisemodus auf „Fahren“ eingestellt ist, wird im Navigations-SDK für iOS unten links auf der Karte ein Steuerelement für die Geschwindigkeitsbegrenzung angezeigt, das die aktuelle Geschwindigkeitsbegrenzung 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 Warnung bei geringfügiger Geschwindigkeitsüberschreitung aus, wenn der Fahrer die Geschwindigkeitsbegrenzung um 5 mph (oder 10 km/h) überschreitet. Außerdem wird die Farbe des Tachometertexts in Rot geändert. Wenn der Fahrer die Höchstgeschwindigkeit um 10 mph (oder 20 km/h) überschreitet, wird eine Warnung wegen erheblicher Geschwindigkeitsüberschreitung ausgelöst und die Hintergrundfarbe des Tachometers ändert sich zu 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.
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 Tempolimit der aktuellen Geschwindigkeit anpassen. Sie können auch angeben, wie lange der Schwellenwert überschritten werden muss, bevor die Karte die Warnung anzeigt.
Im folgenden Codebeispiel wird der Schwellenwert für eine geringfügige Geschwindigkeitswarnung auf fünf Prozent über dem Tempolimit und der Schwellenwert für eine erhebliche Geschwindigkeitswarnung auf zehn Prozent ü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, wie der Tachometer Geschwindigkeitswarnungen anzeigt
Sie können die Farben der Tachoanzeige 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 Warnungen bei geringfügigen und erheblichen 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 benötigt, können Sie auch das Navigation SDK verwenden, um die Geschwindigkeitsinformationen des Fahrers verfügbar zu machen. Das kann für Mitfahr-Apps nützlich sein, bei denen ein Betreiber möglicherweise ü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 { ... }