Jika navigasi diaktifkan, Navigation SDK for Android akan menampilkan kontrol batas kecepatan di pojok kiri bawah peta yang menunjukkan batas kecepatan saat ini. Jika pengguna melebihi batas kecepatan, kontrol akan diperluas untuk menampilkan speedometer di samping tampilan batas kecepatan dan memicu pemberitahuan saat kecepatan mencapai nilai minimum tertentu.
Secara default, Navigation SDK memicu peringatan kecepatan ringan saat pengguna melebihi batas kecepatan sebesar 5 mph (atau 10 kpj), dan mengubah warna teks speedometer menjadi merah. Fitur ini memicu peringatan kecepatan berat saat pengguna melebihi batas kecepatan sebesar 10 mph (atau 20 kpj), dan mengubah warna latar belakang speedometer menjadi merah.
Anda dapat menyesuaikan nilai minimum untuk memicu pemberitahuan serta warna teks dan latar belakang yang ditampilkan speedometer. Anda juga dapat menggunakan Navigation SDK untuk menyediakan informasi kecepatan pengguna sesuai dengan nilai minimum yang telah Anda tetapkan. Misalnya, Anda dapat menyediakan informasi kecepatan kepada operator layanan transportasi online untuk membantu mereka mendorong pengguna mematuhi batas kecepatan dan meningkatkan keselamatan.
Menyesuaikan ambang batas untuk notifikasi kecepatan
Anda dapat menyesuaikan nilai minimum notifikasi kecepatan untuk notifikasi kecepatan ringan dan berat sebagai persentase di atas batas kecepatan saat ini. Anda juga dapat menentukan durasi yang diperlukan untuk melampaui nilai ambang batas sebelum peta menampilkan pemberitahuan.
Contoh kode berikut menetapkan nilai minimum untuk peringatan kecepatan ringan menjadi lima persen di atas batas kecepatan, dan nilai minimum untuk peringatan kecepatan berat menjadi 10 persen di atas batas kecepatan. Menentukan bahwa peta menampilkan pemberitahuan setelah nilai minimum pemberitahuan terlampaui selama lima detik.
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());
Menyesuaikan cara speedometer menampilkan peringatan kecepatan
Untuk membuat pemberitahuan kecepatan lebih menarik perhatian, Anda dapat menyesuaikan warna tampilan speedometer untuk setiap tingkat pemberitahuan.
Tabel berikut menunjukkan warna default untuk peringatan kecepatan di class
NavigationView
:
Elemen | Warna |
---|---|
MinorSpeedAlertBackgroundColorDayMode | 0xffffff(putih) |
MinorSpeedAlertBackgroundColorNightMode | 0x000000 |
MinorSpeedAlertTextColorDayMode | 0xd93025 |
MinorSpeedAlertTextColorNightMode | 0xd93025 |
MajorSpeedAlertBackgroundColorDayMode | 0xd93025 |
MajorSpeedAlertBackgroundColorNightMode | 0xd93025 |
MajorSpeedAlertTextColorDayMode | 0xffffff(putih) |
MajorSpeedAlertTextColorNightMode | 0xffffff(putih) |
Anda dapat menentukan warna teks dan latar belakang speedometer untuk peringatan kecepatan ringan dan berat:
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);
Menerima informasi kecepatan dari pengguna
Jika aplikasi Anda memerlukan berbagi informasi tentang kecepatan pengguna, Anda juga dapat menggunakan Navigation SDK untuk menyediakan informasi kecepatan pengguna. Misalnya, hal ini dapat berguna untuk aplikasi layanan transportasi online yang operatornya mungkin ingin memantau kecepatan berlebihan yang dilakukan pengguna untuk meningkatkan keselamatan. Hal ini juga dapat dilakukan tanpa perlu merender tampilan navigasi kepada pengguna di aplikasi Anda.
Misalnya, contoh berikut membagikan informasi kecepatan jika kecepatan melebihi batas kecepatan sebesar persentase yang ditentukan:
// 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);