Tachometerwarnungen konfigurieren

Wenn die Navigation aktiviert ist, zeigt das Navigation SDK for Android unten links auf der Karte ein Steuerelement für die Geschwindigkeitsbegrenzung mit der aktuellen Höchstgeschwindigkeit an. Überschreitet ein Fahrer die Geschwindigkeitsbegrenzung, wird der Steuerelement maximiert und neben der Anzeige der Geschwindigkeitsbegrenzung ein Tacho angezeigt. Sobald die Geschwindigkeit einen bestimmten Grenzwert erreicht, werden Benachrichtigungen ausgelöst.

Standardmäßig löst das Navigation SDK eine geringfügige Geschwindigkeitswarnung aus, wenn der Fahrer die Geschwindigkeitsbegrenzung um 10 km/h überschreitet, und ändert die Farbe des Tachotexts in Rot. Eine wichtige Geschwindigkeitswarnung wird ausgelöst, wenn der Fahrer die Geschwindigkeit um 20 km/h überschreitet, und ändert die Hintergrundfarbe des Tachos in Rot.

Sie können sowohl den Grenzwert zum Auslösen der Warnungen als auch die Text- und Hintergrundfarben anpassen, die der Tachometer anzeigt. Sie können auch das Navigation SDK verwenden, um Informationen zur Geschwindigkeit des Fahrers gemäß den von Ihnen festgelegten Schwellenwerten zur Verfügung zu stellen. Beispielsweise könnten Sie Mitfahrdiensten Informationen zur Geschwindigkeit zur Verfügung stellen, um Fahrer zur Einhaltung der Geschwindigkeitsbegrenzungen zu motivieren und die Sicherheit zu verbessern.

Grenzwerte für Geschwindigkeitswarnungen anpassen

Sie können den Grenzwert für Geschwindigkeitswarnungen sowohl für kleinere als auch für größere Geschwindigkeitswarnungen als Prozentsatz der aktuellen Geschwindigkeitsbegrenzung anpassen. Außerdem lässt sich festlegen, wie lange der Grenzwert überschritten wird, bevor die Karte die Benachrichtigung anzeigt.

Im folgenden Codebeispiel wird der Grenzwert für eine Geschwindigkeitswarnung auf fünf Prozent über der Geschwindigkeitsbegrenzung und der Grenzwert für eine größere Geschwindigkeitswarnung auf 10 % über der Geschwindigkeit festgelegt. Damit wird festgelegt, dass auf der Karte eine Warnung angezeigt wird, wenn ein Alarmschwellenwert 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());

Anzeige von Geschwindigkeitswarnungen anpassen

Sie können die Farben der Tachoanzeige für jede Benachrichtigungsstufe anpassen, um die Geschwindigkeitswarnungen auffälliger zu gestalten.

Die folgende Tabelle zeigt die Standardfarben für Geschwindigkeitswarnungen in der Klasse NavigationView:

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

Sowohl für kleine als auch für große Geschwindigkeitswarnungen kannst du die Text- und Hintergrundfarbe des Tachometers 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);

Informationen zur Geschwindigkeit von Fahrern erhalten

Wenn in Ihrer App Informationen zur Geschwindigkeit des Fahrers geteilt werden müssen, können Sie auch das Navigation SDK verwenden, um diese Informationen zur Verfügung zu stellen. Dies kann bei Mitfahrdienstanwendungen nützlich sein, in denen ein Fahrgast übermäßige Geschwindigkeiten von Fahrern überwachen möchte, um die Sicherheit zu erhöhen. Das ist auch möglich, ohne dass eine Navigationsansicht für den Nutzer in Ihrer App 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);