সাধারণ ও কম আলোর মোড কনফিগার করা

iOS-এর জন্য Navigation SDK অটোমেটিক iOS সিস্টেমের লাইট ও ডার্ক মোড অনুসরণ করে না। পরিবর্তে, নেভিগেশন-চালু করা GMSMapView তার lightingMode প্রপার্টি এবং GMSNavigationLightingMode enum-এর মাধ্যমে সাধারণ এবং কম-আলোর রঙের স্কিম সাপোর্ট করে:

  • সাধারণ মোড (.normal): দিনের আলোতে দেখার জন্য উপযুক্ত কালার স্কিম ব্যবহার করে।
  • কম আলোর মোড (.lowLight): রাতে দেখার জন্য উপযুক্ত রঙের স্কিম ব্যবহার করে।

অটোমেটিক লাইটিং মোড পরিবর্তন করার সুবিধা চালু করা

iOS-এর জন্য নেভিগেশন SDK দিনের সময় ও ডিভাইসের লোকেশনের উপর ভিত্তি করে সাজেস্ট করা লাইটিং মোড গণনা করে এবং suggestedLightingMode প্রপার্টির মাধ্যমে GMSNavigator এটি প্রকাশ করে। তবে, GMSMapView এই সাজেশন অটোমেটিক প্রয়োগ করে না।

স্বাভাবিক ও কম আলোর মোডের মধ্যে অটোমেটিক পরিবর্তন করতে, আপনার ভিউ কন্ট্রোলারে নিম্নলিখিত ধাপগুলি সম্পূর্ণ করুন:

  1. স্টার্টআপে প্রাথমিক লাইটিং মোড সেট করুন: আপনি ম্যাপ সেট-আপ করার সময়, GMSNavigator থেকে suggestedLightingMode প্রপার্টি পড়ুন এবং সেই ভ্যালু mapView.lightingMode-এ অ্যাসাইন করুন। কারণ সাজেস্ট করা লাইটিং মোড পরিবর্তন হলেই (যেমন সূর্যোদয় বা সূর্যাস্তের সময়) লিসেনার ট্রিগার হয়, তাই প্রাথমিক ভ্যালু সেট করলে ব্যবহারকারী রাতে নেভিগেশন শুরু করলে ম্যাপ সাথে সাথে কম আলোর মোডে রেন্ডার হয়।
  2. নেভিগেশনের সময় লাইটিং মোড পরিবর্তন সংক্রান্ত তথ্য শুনুন: GMSNavigatorListener প্রোটোকল গ্রহণ করুন এবং navigator(_:didChangeSuggestedLightingMode:) পদ্ধতি প্রয়োগ করে mapView.lightingMode আপডেট করুন, যখনই সাজেস্ট করা মোড পরিবর্তন হবে।

নিম্নলিখিত উদাহরণ থেকে জানা যাবে যে কীভাবে প্রাথমিক লাইটিং মোড সেট করতে হয় এবং সাজেস্ট করা লাইটিং মোড পরিবর্তন হলে সেটি আপডেট করতে হয়:

Swift

// Step 1: Set the initial lighting mode on launch or setup.
mapView.navigator?.add(self)
mapView.lightingMode = mapView.navigator?.suggestedLightingMode ?? .normal

// Step 2: Update the lighting mode when the sun sets or rises during navigation.
func navigator(
  _ navigator: GMSNavigator,
  didChangeSuggestedLightingMode lightingMode: GMSNavigationLightingMode
) {
  mapView.lightingMode = lightingMode
}

Objective-C

// Step 1: Set the initial lighting mode on launch or setup.
[_mapView.navigator addListener:self];
_mapView.lightingMode = _mapView.navigator.suggestedLightingMode;

// Step 2: Update the lighting mode when the sun sets or rises during navigation.
- (void)navigator:(GMSNavigator *)navigator
    didChangeSuggestedLightingMode:(GMSNavigationLightingMode)lightingMode {
  _mapView.lightingMode = lightingMode;
}

GMSNavigatorListener অ্যাডপ্ট করার ব্যাপারে আরও জানতে, নেভিগেশন ইভেন্ট গাইডের জন্য শুনুন-এ প্রয়োজনীয় প্রোটোকলের সাথে সামঞ্জস্য ঘোষণা করা দেখুন।

স্বাভাবিক বা কম আলোর মোড চালু করতে বাধ্য করে

ম্যাপের মোড অটোমেটিক পরিবর্তন করতে না চাইলে, আপনি সরাসরি mapView.lightingMode সেট করে এবং navigator(_:didChangeSuggestedLightingMode:) লিসনার আপডেট বাদ দিয়ে সাধারণ বা কম-আলো মোড প্রয়োগ করতে পারেন।

নিম্নলিখিত উদাহরণে দেখানো হয়েছে যে কীভাবে ম্যাপকে কম-আলো বা সাধারণ মোডে দেখানো যায়:

Swift

// Force low-light mode.
mapView.lightingMode = .lowLight

// Or force normal (daylight) mode.
mapView.lightingMode = .normal

Objective-C

// Force low-light mode.
_mapView.lightingMode = GMSNavigationLightingModeLowLight;

// Or force normal (daylight) mode.
_mapView.lightingMode = GMSNavigationLightingModeNormal;

লো-লাইট UI কালার কাস্টমাইজ করুন

ম্যাপ কম আলোর মোডে থাকলে, আপনি নেভিগেশন হেডারের প্রাথমিক ও সেকেন্ডারি ব্যাকগ্রাউন্ডের রঙও কাস্টমাইজ করতে পারবেন। এইসব রঙ কাস্টমাইজ করার ব্যাপারে আরও তথ্য পেতে, নেভিগেশন UI গাইড পরিবর্তন করুন বিকল্পে কম আলোর মোড হেডার রঙ দেখুন।