Hız saati uyarılarını yapılandırma

Navigasyon etkinleştirildiğinde, Android için Navigasyon SDK'sı haritanın sol alt köşesinde mevcut hız sınırını gösteren bir hız sınırı kontrolü görüntüler. Kullanıcı hız sınırını aşarsa kontrol genişleyerek hız sınırı göstergesinin yanında bir hız göstergesi görüntüler ve hız belirli bir eşiğe ulaştığında uyarıları tetikler.

Navigation SDK'sı, varsayılan olarak kullanıcı hız sınırını 5 mil/saat (veya 10 km/saat) aştığında küçük bir hız uyarısı tetikler ve hız göstergesi metninin rengini kırmızıya değiştirir. Kullanıcı hız sınırını 10 mil/saat (veya 20 km/saat) aştığında büyük bir hız uyarısı tetikler ve hız göstergesinin arka plan rengini kırmızıya değiştirir.

Hem uyarıları tetikleme eşiğini hem de hız göstergesinin gösterdiği metin ve arka plan renklerini özelleştirebilirsiniz. Kullanıcının hız bilgilerini belirlediğiniz eşiklere göre kullanılabilir hale getirmek için Navigation SDK'yı da kullanabilirsiniz. Örneğin, hız bilgilerini araç paylaşımı operatörlerine sunarak kullanıcılarını hız sınırına uymaya teşvik etmelerine ve güvenliği artırmalarına yardımcı olabilirsiniz.

Hız uyarıları için eşikleri özelleştirme

Hem küçük hem de büyük hız uyarıları için hız uyarısı eşiğini, mevcut hız sınırının yüzdesi olarak özelleştirebilirsiniz. Haritada uyarı gösterilmeden önce eşiğin ne kadar süre boyunca aşılacağını da belirtebilirsiniz.

Aşağıdaki kod örneğinde, küçük hız uyarısı eşiği hız sınırının %5 üzerine, büyük hız uyarısı eşiği ise hız sınırının %10 üzerine ayarlanmıştır. Haritanın, uyarı eşiği 5 saniye boyunca aşıldıktan sonra uyarı göstereceğini belirtir.


 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());

Hız göstergesinin hız uyarılarını nasıl göstereceğini özelleştirme

Hız uyarılarını daha dikkat çekici hale getirmek için her uyarı seviyesinde hız göstergesi ekranının renklerini özelleştirebilirsiniz.

Aşağıdaki tabloda, NavigationView sınıfındaki hız uyarıları için varsayılan renkler gösterilmektedir:

ÖğeRenk
MinorSpeedAlertBackgroundColorDayMode 0xffffff(beyaz)
MinorSpeedAlertBackgroundColorNightMode 0x000000
MinorSpeedAlertTextColorDayMode 0xd93025
MinorSpeedAlertTextColorNightMode 0xd93025
MajorSpeedAlertBackgroundColorDayMode 0xd93025
MajorSpeedAlertBackgroundColorNightMode 0xd93025
MajorSpeedAlertTextColorDayMode 0xffffff(beyaz)
MajorSpeedAlertTextColorNightMode 0xffffff(beyaz)

Hem küçük hem de büyük hız uyarıları için hız göstergesinin metin ve arka plan rengini belirtebilirsiniz:

 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);

Kullanıcılardan hız bilgisi alma

Uygulamanızın kullanıcının hızıyla ilgili bilgileri paylaşması gerekiyorsa kullanıcının hız bilgilerini kullanılabilir hale getirmek için Navigation SDK'yı da kullanabilirsiniz. Örneğin, bu özellik, operatörün güvenliği artırmak için kullanıcıların aşırı hız yapıp yapmadığını izlemek isteyebileceği araç paylaşımı uygulamalarında yararlı olabilir. Bu işlemi, uygulamanızda kullanıcıya bir navigasyon görünümü oluşturmanız gerekmeden de yapabilirsiniz.

Aşağıdaki kod örneği, hız sınırı belirli bir yüzde oranında aşıldığında hız bilgisini paylaşır:

 // 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);