Tachometerwarnungen konfigurieren

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

Standardmäßig löst das Navigation SDK eine geringfügige Geschwindigkeitswarnung aus, wenn der Nutzer das Tempolimit um 8 km/h überschreitet, und ändert die Farbe des Tachotexts in Rot. Wenn der Nutzer das Tempolimit um 16 km/h überschreitet, wird eine schwerwiegende Geschwindigkeitswarnung ausgelöst und die Hintergrundfarbe des Tachos ändert sich in Rot.

Sie können sowohl den Grenzwert für das Auslösen der Warnungen als auch die Text- und Hintergrundfarben des Tachos anpassen. Außerdem können Sie mit dem Navigation SDK die Geschwindigkeitsinformationen des Nutzers gemäß den von Ihnen festgelegten Grenzwerten zur Verfügung stellen. So können Sie beispielsweise Mitfahrdiensten Geschwindigkeitsinformationen zur Verfügung stellen, damit sie ihre Nutzer dazu anhalten können, das Tempolimit einzuhalten und die Sicherheit zu verbessern.

Grenzwerte für Geschwindigkeitswarnungen anpassen

Sie können den Grenzwert für Geschwindigkeitswarnungen sowohl für geringfügige als auch für schwerwiegende Geschwindigkeitswarnungen als Prozentsatz über dem Tempolimit der aktuellen Geschwindigkeit anpassen. Sie können auch angeben, wie lange der Grenzwert überschritten werden muss, bevor die Warnung auf der Karte angezeigt wird.

Im folgenden Codebeispiel wird der Grenzwert für eine geringfügige Geschwindigkeitswarnung auf 5 % über dem Tempolimit und der Grenzwert für eine schwerwiegende Geschwindigkeitswarnung auf 10 % über dem Tempolimit festgelegt. Außerdem wird festgelegt, dass die Karte eine Warnung anzeigt, nachdem ein Grenzwert für Warnungen fünf 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 Geschwindigkeitswarnungen auf dem Tacho angezeigt werden

Damit Geschwindigkeitswarnungen besser wahrgenommen werden, können Sie die Farben der Tachoanzeige für jede Warnstufe anpassen.

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

ElementFarbe
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 Tachos sowohl für geringfügige als auch für schwerwiegende Geschwindigkeitswarnungen 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 SupportNavigationFragment.
supportNavigationFragment.setSpeedometerUiOptions(speedometerUiOptionsBuilder.build());
 supportNavigationFragment.setSpeedometerEnabled(true);

Geschwindigkeitsinformationen von Nutzern erhalten

Wenn Ihre Anwendung das Teilen von Informationen zur Geschwindigkeit von Nutzern erfordert, können Sie mit dem Navigation SDK auch die Geschwindigkeitsinformationen des Nutzers zur Verfügung stellen. Das kann beispielsweise für Mitfahrdienste nützlich sein, bei denen ein Betreiber übermäßige Geschwindigkeitsüberschreitungen von Nutzern überwachen möchte, um die Sicherheit zu verbessern. Das ist auch möglich, ohne dass in Ihrer App eine Navigationsansicht für den Nutzer gerendert werden muss.

Im folgenden Beispiel werden Geschwindigkeitsinformationen geteilt, wenn die Geschwindigkeit einen bestimmten Prozentsatz über dem Tempolimit 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);