যখন নেভিগেশন সক্ষম করা হয়, তখন Android এর জন্য নেভিগেশন SDK মানচিত্রের নীচের বাম কোণে একটি গতি সীমা নিয়ন্ত্রণ প্রদর্শন করে যা বর্তমান গতি সীমা দেখায়। যদি একজন ব্যবহারকারী গতি সীমা অতিক্রম করে, তবে গতি সীমা প্রদর্শনের পাশে একটি স্পিডোমিটার প্রদর্শন করতে নিয়ন্ত্রণটি প্রসারিত হয় এবং গতি একটি নির্দিষ্ট থ্রেশহোল্ডে পৌঁছালে সতর্কতা ট্রিগার করে।
ডিফল্টরূপে, ব্যবহারকারী যখন গতিসীমা 5 mph (বা 10 kph) অতিক্রম করে তখন নেভিগেশন SDK একটি ছোট গতির সতর্কতা ট্রিগার করে এবং স্পিডোমিটার পাঠ্যের রঙ লাল করে পরিবর্তন করে। যখন ব্যবহারকারী 10 mph (বা 20 kph) গতি সীমা অতিক্রম করে তখন এটি একটি বড় গতির সতর্কতা ট্রিগার করে এবং স্পিডোমিটারের পটভূমির রঙ লাল করে।
আপনি সতর্কতা ট্রিগার করার জন্য থ্রেশহোল্ড এবং স্পিডোমিটার প্রদর্শন করা পাঠ্য এবং পটভূমির রঙ উভয়ই কাস্টমাইজ করতে পারেন। আপনার সেট করা থ্রেশহোল্ড অনুসারে ব্যবহারকারীর গতির তথ্য উপলব্ধ করতে আপনি নেভিগেশন SDK ব্যবহার করতে পারেন। উদাহরণস্বরূপ, আপনি রাইডশেয়ার অপারেটরদের কাছে তাদের ব্যবহারকারীদের গতি সীমা মেনে চলতে এবং সুরক্ষা উন্নত করতে উত্সাহিত করতে সহায়তা করার জন্য গতির তথ্য উপলব্ধ করতে পারেন।
গতির সতর্কতার জন্য থ্রেশহোল্ড কাস্টমাইজ করুন
আপনি বর্তমান গতির গতিসীমার উপর শতাংশ হিসাবে ছোট এবং বড় উভয় গতির সতর্কতার জন্য গতি সতর্কতা থ্রেশহোল্ড কাস্টমাইজ করতে পারেন। ম্যাপ সতর্কতা প্রদর্শন করার আগে আপনি কতক্ষণ থ্রেশহোল্ড অতিক্রম করেছেন তাও উল্লেখ করতে পারেন।
নিম্নলিখিত কোড উদাহরণটি একটি ছোট গতির সতর্কতার জন্য থ্রেশহোল্ডকে গতি সীমার উপরে পাঁচ শতাংশে এবং একটি বড় গতির সতর্কতার জন্য থ্রেশহোল্ড গতি সীমার উপরে 10 শতাংশে সেট করে৷ এটি সুনির্দিষ্ট করে যে পাঁচ সেকেন্ডের জন্য একটি সতর্কতা থ্রেশহোল্ড অতিক্রম করার পরে মানচিত্রটি একটি সতর্কতা প্রদর্শন করে৷
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());
স্পিডোমিটার কীভাবে গতির সতর্কতা প্রদর্শন করে তা কাস্টমাইজ করুন
স্পিড অ্যালার্টগুলিকে আরও মনোযোগ আকর্ষণ করতে, আপনি প্রতিটি সতর্কতা স্তরের জন্য স্পিডোমিটার ডিসপ্লের রঙগুলি কাস্টমাইজ করতে পারেন৷
নিম্নলিখিত টেবিলটি NavigationView
ক্লাসে গতি সতর্কতার জন্য ডিফল্ট রং দেখায়:
উপাদান | রঙ |
---|---|
MinorSpeedAlertBackgroundColorDayMode | 0xffffff(সাদা) |
MinorSpeedAlertBackground ColorNightMode | 0x000000 |
MinorSpeedAlertTextColorDayMode | 0xd93025 |
MinorSpeedAlertTextColorNightMode | 0xd93025 |
MajorSpeedAlertBackgroundColorDayMode | 0xd93025 |
মেজরস্পিড অ্যালার্ট ব্যাকগ্রাউন্ড কালার নাইটমোড | 0xd93025 |
MajorSpeedAlertTextColorDayMode | 0xffffff(সাদা) |
MajorSpeedAlertTextColorNightMode | 0xffffff(সাদা) |
আপনি ছোট এবং বড় উভয় গতির সতর্কতার জন্য স্পিডোমিটারের পাঠ্য এবং পটভূমির রঙ নির্দিষ্ট করতে পারেন:
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);
ব্যবহারকারীদের কাছ থেকে গতির তথ্য পান
যদি আপনার অ্যাপ্লিকেশানের ব্যবহারকারীর গতি সম্পর্কে তথ্য ভাগ করে নেওয়ার প্রয়োজন হয়, আপনি ব্যবহারকারীর গতির তথ্য উপলব্ধ করতে নেভিগেশন SDK ব্যবহার করতে পারেন৷ উদাহরণস্বরূপ, এটি রাইডশেয়ার অ্যাপ্লিকেশনগুলির জন্য উপযোগী হতে পারে যেখানে কোনও অপারেটর নিরাপত্তার উন্নতির জন্য ব্যবহারকারীদের দ্বারা অতিরিক্ত গতি নিরীক্ষণ করতে চাইতে পারে। এটি আপনার অ্যাপে ব্যবহারকারীর কাছে নেভিগেশন ভিউ রেন্ডার করার প্রয়োজন ছাড়াই করা যেতে পারে।
উদাহরণস্বরূপ, নিম্নোক্ত উদাহরণটি গতির তথ্য শেয়ার করে যখন গতি গতি সীমার উপরে একটি নির্দিষ্ট শতাংশ হয়:
// 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);