Tachometerwarnungen konfigurieren

Wenn die Navigation aktiviert ist, wird im Navigation SDK for Android unten links auf der Karte ein Tempolimit-Steuerelement angezeigt, das das aktuelle Tempolimit angibt. Wenn ein Nutzer die Höchstgeschwindigkeit überschreitet, wird das Steuerelement erweitert und neben der Anzeige der Höchstgeschwindigkeit wird ein Tacho angezeigt. Außerdem werden Benachrichtigungen ausgelöst, wenn die Geschwindigkeit einen bestimmten Grenzwert erreicht.

Standardmäßig löst das Navigation SDK eine geringfügige Geschwindigkeitsüberschreitung aus, wenn der Nutzer das Tempolimit um 8 km/h überschreitet, und ändert die Farbe des Tachometertexts in Rot. Es wird eine Warnung bei hoher Geschwindigkeit ausgelöst, wenn der Nutzer die Höchstgeschwindigkeit um 16 km/h (oder 20 km/h) überschreitet, und die Hintergrundfarbe des Tachos ändert sich 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 Nutzers gemäß den von Ihnen festgelegten Grenzwerten verfügbar zu machen. Sie könnten beispielsweise Informationen zur Geschwindigkeit für Fahrdiensteanbieter zur Verfügung stellen, damit diese ihre Nutzer dazu anhalten können, sich an die Geschwindigkeitsbegrenzung zu halten 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 Warnung angezeigt wird, nachdem ein Warnschwellenwert 5 Sekunden lang überschritten wurde.


 float minorSpeedAlertThresholdPercentage = 5; float
majorSpeedAlertThresholdPercentage = 10; double severityUpgradeDurationSeconds =
5;

 // Configure SpeedAlertOptions SpeedAlertOptions.Builder
speedAlertOptionsBuilder = new SpeedAlertOptions.Builder();
speedAlertOptionsBuilder.setSpeedAlertThresholdPercentage(
SpeedAlertSeverity.MINOR, minorSpeedAlertThresholdPercentage);
speedAlertOptionsBuilder.setSpeedAlertThresholdPercentage(
SpeedAlertSeverity.MAJOR, majorSpeedAlertThresholdPercentage);
speedAlertOptionsBuilder.setSeverityUpgradeDurationSeconds(severityUpgradeDurationSeconds);

 // Set SpeedAlertOptions to Navigator.
navigator.setSpeedAlertOptions(speedAlertOptionsBuilder.build());

Anpassen, wie Geschwindigkeitsüberschreitungen auf dem Tacho angezeigt werden

Damit Geschwindigkeitsüberschreitungen besser wahrgenommen werden, können Sie die Farben der Tachometeranzeige für jede Warnstufe anpassen.

In der folgenden Tabelle sind die Standardfarben für Geschwindigkeitswarnungen in der Klasse NavigationView aufgeführt:

ElementFarbe
MinorSpeedAlertBackgroundColorDayMode 0xffffff(white)
MinorSpeedAlertBackgroundColorNightMode 0x000000
MinorSpeedAlertTextColorDayMode 0xd93025
MinorSpeedAlertTextColorNightMode 0xd93025
MajorSpeedAlertBackgroundColorDayMode 0xd93025
MajorSpeedAlertBackgroundColorNightMode 0xd93025
MajorSpeedAlertTextColorDayMode 0xffffff(white)
MajorSpeedAlertTextColorNightMode 0xffffff(white)

Sie können die Text- und Hintergrundfarbe des Tachometers für geringfügige und schwerwiegende Geschwindigkeitsüberschreitungen angeben:

 SpeedometerUiOptions speedometerUiOptions = new SpeedometerUiOptions.Builder()
 .setBackgroundColorDayMode(MINOR, some_color)
.setBackgroundColorNightMode(MINOR, some_color) .setTextColorDayMode(MINOR,
some_color) .setTextColorNightMode(MINOR, some_color)
.setBackgroundColorDayMode(MAJOR, some_color)
.setBackgroundColorNightMode(MAJOR, some_color) .setTextColorDayMode(MAJOR,
some_color) .setTextColorNightMode(MAJOR, some_color) .build();

 // Set SpeedometerUiOptions to NavigationView.
navigationView.setSpeedometerUiOptions(speedometerUiOptionsBuilder.build());
navigationView.setSpeedometerEnabled(true);

 // Set SpeedometerUiOptions to NavigationFragment.
navigationFragment.setSpeedometerUiOptions(speedometerUiOptionsBuilder.build());
 navigationFragment.setSpeedometerEnabled(true);

Geschwindigkeitsinformationen von Nutzern erhalten

Wenn Ihre Anwendung die Weitergabe von Informationen zur Geschwindigkeit des Nutzers erfordert, können Sie auch das Navigation SDK verwenden, um die Geschwindigkeitsinformationen des Nutzers verfügbar zu machen. Das kann beispielsweise für Mitfahrdienste nützlich sein, bei denen ein Betreiber überhöhte Geschwindigkeiten von Nutzern überwachen möchte, um die Sicherheit zu verbessern. Sie können dies auch tun, ohne dem Nutzer in Ihrer App eine Navigationsansicht zu präsentieren.

Im folgenden Codebeispiel werden Geschwindigkeitsinformationen geteilt, wenn die Geschwindigkeit einen bestimmten Prozentsatz über der zulässigen Höchstgeschwindigkeit liegt:

 // Existing flow for creating Navigator. NavigationApi.getNavigator();

 // Set the SpeedAlertOptions for the MAJOR and MINOR alerts. (Note that the //
severityUpgradeDurationSeconds field is by design not used in this flow.)
SpeedAlertOptions speedAlertOptions = ...;
navigator.setSpeedAlertOptions(speedAlertOptions);

 // Implement SpeedingListener. SpeedingListener speedingListener = new
SpeedingListener() { @Override public void onSpeedingUpdated(float
percentageAboveLimit, SpeedAlertSeverity speedAlertSeverity) { ... } };

 // Set speedingListener to Navigator.
navigator.setSpeedingListener(speedingListener);