सामान्य और कम रोशनी वाले मोड कॉन्फ़िगर करना

iOS के लिए Navigation SDK, iOS सिस्टम के लाइट और गहरे रंग वाले मोड को अपने-आप फ़ॉलो नहीं करता. इसके बजाय, नेविगेशन की सुविधा वाला GMSMapView अपनी lightingMode प्रॉपर्टी और GMSNavigationLightingMode एनम की मदद से, सामान्य और कम रोशनी वाली कलर स्कीम के साथ काम करता है:

  • नॉर्मल मोड (.normal): इसमें ऐसी कलर स्कीम का इस्तेमाल किया जाता है जो दिन की रोशनी में देखने के लिए सही होती है.
  • कम रोशनी वाला मोड (.lowLight): इसमें ऐसी कलर स्कीम का इस्तेमाल किया जाता है जो रात में देखने के लिए सही हो.

लाइटिंग मोड अपने-आप बदलने की सुविधा चालू करना

iOS के लिए Navigation SDK, दिन के समय और डिवाइस की जगह की जानकारी के आधार पर, सुझाई गई लाइटिंग मोड का हिसाब लगाता है. साथ ही, इसे GMSNavigator की suggestedLightingMode प्रॉपर्टी के ज़रिए दिखाता है. हालांकि, 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;

कम रोशनी वाले मोड में यूज़र इंटरफ़ेस के रंगों को पसंद के मुताबिक बनाना

मैप के कम रोशनी वाले मोड में होने पर, नेविगेशन हेडर के प्राइमरी और सेकंडरी बैकग्राउंड के रंगों को भी पसंद के मुताबिक बनाया जा सकता है. इन रंगों को पसंद के मुताबिक बनाने के बारे में ज़्यादा जानने के लिए, नेविगेशन यूज़र इंटरफ़ेस (यूआई) में बदलाव करने से जुड़ी गाइड में कम रोशनी वाले मोड के हेडर के रंग देखें.