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 zulässige Höchstgeschwindigkeit überschreitet, wird das Steuerelement maximiert und neben der Anzeige der zulässigen Höchstgeschwindigkeit wird ein Tachometer eingeblendet. 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 die Höchstgeschwindigkeit um 8 km/h überschreitet, und ändert die Farbe des Tacho-Texts in Rot. Es wird eine Warnung bei hoher Geschwindigkeit ausgelöst, wenn der Nutzer die Geschwindigkeitsbegrenzung um 16 km/h (oder 20 km/h) überschreitet, und die Hintergrundfarbe des Tachometers ä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 Betreiber von Mitfahrdiensten 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 Schwellenwert für Geschwindigkeitsüberschreitungen für geringfügige und schwerwiegende Geschwindigkeitsüberschreitungen als Prozentsatz über der Geschwindigkeitsbegrenzung der aktuellen Geschwindigkeit anpassen. Sie können auch festlegen, wie lange der Grenzwert überschritten werden muss, bevor die Benachrichtigung auf der Karte angezeigt wird.

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 Benachrichtigungsgrenzwert 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 Tachometer angezeigt werden

Damit Geschwindigkeitsüberschreitungen 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 Tachometers für geringfügige und schwerwiegende Geschwindigkeitsüberschreitungen festlegen:

 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 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. Dies 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 der Geschwindigkeitsbegrenzung 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);