iOS के लिए Navigation SDK, iOS सिस्टम के हल्के और गहरे रंग वाले मोड को अपने-आप फ़ॉलो नहीं करता.
इसके बजाय, नेविगेशन की सुविधा वाला
GMSMapView
अपनी
lightingMode
प्रॉपर्टी और
GMSNavigationLightingMode
enum की मदद से, सामान्य और कम रोशनी वाली कलर स्कीम के साथ काम करता है:
- नॉर्मल मोड (
.normal): इसमें ऐसी कलर स्कीम का इस्तेमाल किया जाता है जो दिन की रोशनी में देखने के लिए सही हो. - कम रोशनी वाला मोड (
.lowLight): इसमें ऐसी कलर स्कीम का इस्तेमाल किया जाता है जो रात में देखने के लिए सही हो.
लाइटिंग मोड अपने-आप स्विच होने की सुविधा चालू करना
iOS के लिए Navigation SDK, दिन के समय और डिवाइस की जगह की जानकारी के आधार पर, सुझाई गई लाइटिंग मोड का हिसाब लगाता है. साथ ही, इसे GMSNavigator की suggestedLightingMode प्रॉपर्टी के ज़रिए दिखाता है.
हालांकि,
GMSMapView
इस सुझाव को अपने-आप लागू नहीं करता.
सामान्य और कम रोशनी वाले मोड के बीच अपने-आप स्विच करने के लिए, अपने व्यू कंट्रोलर में यह तरीका अपनाएं:
- स्टार्टअप के समय, लाइटिंग मोड सेट करना: मैप सेट अप करते समय,
GMSNavigatorसेsuggestedLightingModeप्रॉपर्टी को पढ़ें और उस वैल्यू कोmapView.lightingModeको असाइन करें. लिसनर सिर्फ़ तब ट्रिगर होता है, जब सुझाए गए लाइटिंग मोड में बदलाव होता है. जैसे, सूर्योदय या सूर्यास्त के समय. शुरुआती वैल्यू सेट करने से यह पक्का होता है कि अगर उपयोगकर्ता रात में नेविगेशन शुरू करता है, तो मैप तुरंत कम रोशनी वाले मोड में रेंडर हो जाए. - नेविगेशन के दौरान लाइटिंग मोड में होने वाले बदलावों को सुनें:
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;
कम रोशनी वाले मोड में यूज़र इंटरफ़ेस के रंगों को पसंद के मुताबिक बनाना
कम रोशनी वाले मोड में मैप होने पर, नेविगेशन हेडर के प्राइमरी और सेकंडरी बैकग्राउंड के रंगों को भी पसंद के मुताबिक बनाया जा सकता है. इन रंगों को पसंद के मुताबिक बनाने के बारे में ज़्यादा जानने के लिए, नेविगेशन यूज़र इंटरफ़ेस (यूआई) में बदलाव करने की गाइड में, कम रोशनी वाले मोड के हेडर के रंग देखें.