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ı denetimi gösterir. Kullanıcı hız sınırını aşarsa kontrol, hız sınırı ekranının yanında bir hız göstergesi gösterecek şekilde genişler ve hız belirli bir eşiğe ulaştığında uyarılar tetikler.

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

Hem uyarıların tetiklenmesi için eşiği 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 Navigasyon SDK'sını da kullanabilirsiniz. Örneğin, kullanıcılarını hız sınırına uymaya teşvik etmelerine ve güvenliği artırmalarına yardımcı olmak için hız bilgilerini araç paylaşma operatörlerinin kullanımına sunabilirsiniz.

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ın hız sınırının yüzdesi olarak özelleştirebilirsiniz. Ayrıca, haritanın uyarıyı göstermeden önce eşiğin ne kadar süre boyunca aşıldığını da belirtebilirsiniz.

Aşağıdaki kod örneğinde, küçük hız uyarısı için eşik hız sınırının yüzde beş, büyük hız uyarısı için eşik ise hız sınırının yüzde 10 üzerinde ayarlanmıştır. Uyarı eşiği beş saniye boyunca aşıldığında haritanın uyarı gösterdiğ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ı gösterme şeklini özelleştirme

Hız uyarılarının daha dikkat çekici olması için her uyarı düzeyi için hız göstergesi ekranının renklerini özelleştirebilirsiniz.

Aşağıdaki tabloda, NavigationView sınıfındaki hız uyarılarının varsayılan renkleri 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 SupportNavigationFragment.
supportNavigationFragment.setSpeedometerUiOptions(speedometerUiOptionsBuilder.build());
 supportNavigationFragment.setSpeedometerEnabled(true);

Kullanıcılardan hız bilgisi alma

Uygulamanız kullanıcı hızı hakkında bilgi paylaşımı gerektiriyorsa kullanıcının hız bilgilerini paylaşmak için Navigasyon SDK'sını da kullanabilirsiniz. Örneğin, bu özellik, operatörün güvenliği artırmak için kullanıcıların aşırı hızını izlemek isteyebileceği araç paylaşımı uygulamaları için yararlı olabilir. Bu işlem, uygulamanızda kullanıcıya bir gezinme görünümü oluşturmanıza gerek kalmadan da yapılabilir.

Örneğin, aşağıdaki örnekte hız, hız sınırının belirli bir yüzdesinin üzerinde olduğunda hız bilgileri paylaşılmaktadı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);