Android के लिए Maps SDK, मैप की बिटमैप इमेज दिखा सकता है. इससे उपयोगकर्ता को सीमित इंटरैक्टिविटी मिलती है. इसे लाइट मोड वाला मैप कहा जाता है.
कोड सैंपल
GitHub पर मौजूद ApiDemos रिपॉज़िटरी में ऐसे सैंपल शामिल हैं जिनसे लाइट मोड के इस्तेमाल के बारे में पता चलता है:
- LiteDemoActivity - Java: Java में लाइट मोड वाले मैप का इस्तेमाल करने के बारे में बुनियादी जानकारी
- LiteDemoActivity - Kotlin: Kotlin में लाइट मोड वाले मैप का इस्तेमाल करने से जुड़ी बुनियादी बातें
- LiteListDemoActivity - Java: Java में लाइट मोड का इस्तेमाल करके, ListView में मैप को असरदार तरीके से दिखाना
- LiteListDemoActivity - Kotlin: Kotlin में लाइट मोड का इस्तेमाल करके, ListView में मैप को असरदार तरीके से दिखाना
लाइट मोड के बारे में खास जानकारी
लाइट मोड वाला मैप, किसी जगह और ज़ूम लेवल के हिसाब से मैप की बिटमैप इमेज होती है. लाइट मोड में, सभी तरह के मैप (सामान्य, हाइब्रिड, सैटेलाइट, इलाके के हिसाब से) इस्तेमाल किए जा सकते हैं. साथ ही, इसमें एपीआई की कुछ सुविधाएं भी मिलती हैं. लाइट मोड का इस्तेमाल तब किया जाता है, जब आपको किसी स्ट्रीम में कई मैप दिखाने हों या ऐसा मैप दिखाना हो जो इंटरैक्ट करने के लिए बहुत छोटा हो.
मैप देखने वाले लोग, मैप को ज़ूम या पैन नहीं कर सकते. मैप पर मौजूद आइकॉन की मदद से, लोग Google Maps के मोबाइल ऐप्लिकेशन में मैप देख सकते हैं और दिशा-निर्देशों का अनुरोध कर सकते हैं.
लाइट मोड वाला मैप जोड़ना
लाइट मोड में, Google Maps Android API की तरह ही क्लास और इंटरफ़ेस इस्तेमाल किए जाते हैं. GoogleMap
को लाइट मोड पर सेट करने के लिए, इनमें से कोई तरीका अपनाएं:
MapView
याMapFragment
के लिए एक्सएमएल एट्रिब्यूट के तौर पर- या
GoogleMapOptions
ऑब्जेक्ट में
MapView
या MapFragment
के लिए एक्सएमएल एट्रिब्यूट के तौर पर
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:map="http://schemas.android.com/apk/res-auto"
android:name="com.google.android.gms.maps.MapFragment"
android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="match_parent"
map:cameraZoom="13"
map:mapType="normal"
map:liteMode="true"/>
GoogleMapOptions
ऑब्जेक्ट में
Kotlin
val options = GoogleMapOptions() .liteMode(true)
Java
GoogleMapOptions options = new GoogleMapOptions() .liteMode(true);
मैप की शुरुआती स्थिति सेट करने के बारे में जानकारी के लिए, map ऑब्जेक्ट की गाइड देखें.
मैप व्यू लॉन्च करने या रास्ते के बारे में अनुरोध करने के इंटेंट
मैप में सबसे नीचे दाईं ओर मौजूद टूलबार में ऐसे आइकॉन होते हैं जिनसे Google Maps के मोबाइल ऐप्लिकेशन में, मैप व्यू या रास्ते की जानकारी के अनुरोध का ऐक्सेस मिलता है. UiSettings.setMapToolbarEnabled(false)
को कॉल करके, टूलबार को बंद किया जा सकता है. ज़्यादा जानकारी के ��िए, टूलबार का दस्तावेज़ देखें.
इसके अलावा, जब कोई उपयोगकर्ता मैप पर टैप करता है, तो एपीआई डिफ़ॉल्ट रूप से Google Maps का मोबाइल ऐप्लिकेशन शुरू कर देता है. GoogleMap.setOnMapClickListener()
का इस्तेमाल करके, इसे बदला जा सकता है. इसके लिए, आपको अपना लिसनर सेट करना होगा. MapView
या MapFragment
वाले व्यू पर setClickable()
को कॉल करके, मैप पर क्लिक इवेंट को भी बंद किया जा सकता है. इन दोनों तकनीकों के बारे में ज़्यादा जानने के लिए, इवेंट से जुड़े दस्तावेज़ देखें.
लाइफ़ साइकल इवेंट
एपीआई का इस्तेमाल पूरी तरह से इंटरैक्टिव मोड में करने पर, MapView
क्लास के उपयोगकर्ताओं को गतिविधि की लाइफ़साइकल के सभी तरीकों को MapView
क्लास के संबंधित तरीकों पर फ़ॉरवर्ड करना होगा. लाइफ़ साइकल के तरीकों के उदाहरणों में onCreate()
, onDestroy()
, onResume()
, और onPause()
शामिल हैं.
लाइट मोड में MapView
क्लास का इस्तेमाल करते समय, लाइफ़साइकल इवेंट फ़ॉरवर्ड करना ज़रूरी नहीं है. हालांकि, इन स्थितियों में ऐसा करना ज़रूरी है:
onCreate()
को कॉल करना ज़रूरी है. ऐसा न करने पर, कोई मैप नहीं दिखेगा.- अगर आपको लाइट मोड वाले मैप पर 'मेरी जगह की जानकारी' वाला बिंदु दिखाना है और जगह की जानकारी के डिफ़ॉल्ट सोर्स का इस्तेमाल करना है, तो आपको और को कॉल करना होगा. ऐसा इसलिए, क्योंकि जगह की जानकारी का सोर्स सिर्फ़ इन कॉल के बीच अपडेट होगा.
onResume()
onPause()
अगर आपने अपनी जगह की जानकारी के सोर्स का इस्तेमाल किया है, तो इन दोनों तरीकों को कॉल करना ज़रूरी नहीं है.
एपीआई की मदद से इस्तेमाल की जा सकने वाली सुविधाएं
यहां दी गई टेबल में, एपीआई की हर सुविधा के लिए लाइट मोड वाले मैप के काम करने के तरीके के बारे में बताया गया है. अगर कोई ऐप्लिकेशन, लाइट मोड में काम न करने वाले किसी तरीके को कॉल करता है, तो एपीआई चेतावनी का मैसेज लॉग करेगा.
फ़ंक्शन | |
---|---|
मैप टाइप | क्या यह सुविधा काम करती है? हां
GoogleMapOptions.mapType() और GoogleMap.setMapType() के ज़रिए, मैप के ये टाइप उपलब्ध हैं: MAP_TYPE_NORMAL , MAP_TYPE_SATELLITE , MAP_TYPE_TERRAIN , MAP_TYPE_HYBRID , MAP_TYPE_NONE |
पॉलीलाइन, पॉलीगॉन, सर्कल | क्या यह सुविधा काम करती है? हां
शेप के लिए लाइट मोड की सुविधा, पूरे एपीआई से मेल खाती है. |
अनुमान | क्या यह सुविधा काम करती है? हां
प्रोजेक्शन के लिए, लाइट मोड की सुविधा, पूरे एपीआई से मेल खाती है. |
मेरी जगह की जानकारी | क्या यह सुविधा काम करती है? हां
मेरी जगह की जानकारी वाली लेयर के लिए, लाइट मोड की सुविधा, पूरे एपीआई से मेल खाती ��ै. |
मैप पैडिंग | क्या यह सुविधा काम करती है? हां
लाइट मोड में, मैप पैडिंग की सुविधा, फ़ुल एपीआई की तरह ही काम करती है. |
जानकारी विंडो | क्या यह सुविधा काम करती है? हां
अगर आपने मार्कर का title() सेट किया है, तो उपयोगकर्ता के मार्कर पर टैप करने पर, डिफ़ॉल्ट जानकारी वाली विंडो दिखेगी. मार्कर पर showInfoWindow() को कॉल करके, जानकारी विंडो को प्रोग्राम के हिसाब से दिखाया जा सकता है.
InfoWindowAdapter इंटरफ़ेस के ज़रिए, कस्टम जानकारी विंडो भी बनाई जा सकती हैं. |
बेसमैप की स्टाइल को पसंद के मुताबिक बनाना | क्या यह सुविधा काम करती है? कुछ हद तक
Android के लिए Maps SDK, बेस मैप की कस्टम स्टाइलिंग की सुविधा देता है. लाइट मोड में, सिर्फ़ JSON पर आधारित कस्टम स्टाइलिंग की सुविधा काम करती है. क्लाउड पर आधारित स्टाइलिंग की सुविधा काम नहीं करती. इसके लिए, स्टाइल किए गए मैप को रेंडर करने के लिए मैप आईडी की ज़रूरत होती है.
लाइट मोड में, डार्क मोड का इस्तेमाल करने के लिए, मैप की कलर स्कीम सेट करने की सुविधा भी उपलब्ध नहीं है.
|
मार्कर | क्या यह सुविधा काम करती है? कुछ हद तक
मार्कर जोड़ा जा सकता है और क्लिक इवेंट का जवाब दिया जा सकता है. कस्टम मार्कर आइकॉन भी जोड़े जा सकते हैं. मार्कर को ड्रैग नहीं किया जा सकता. लाइट मोड वाले मैप पर मार्कर फ़्लैट होते हैं और इन्हें घुमाया नहीं जा सकता. |
कैमरे की पोज़िशन, ज़ूम, और ऐनिमेशन | क्या यह सुविधा काम करती है? कुछ हद तक
कैमरे का टारगेट और ��़ूम सेट किया जा सकता है. हालांकि, झुकाव या दिशा सेट नहीं की जा सकती.
लाइट मोड में, ज़ूम लेवल को सबसे नज़दीकी पूर्णांक में बदल दिया जाता है.
|
इवेंट मैप करना | क्या यह सुविधा काम करती है? कुछ हद तक
लाइट मोड में लाइट मोड में मैप पर क्लिक इवेंट बंद करने के लिए, उस व्यू पर ज़्यादा जानकारी के लिए, इवेंट के दस्तावेज़ देखें. |
इनडोर मैप और इमारतें | क्या यह सुविधा काम करती है? नहीं
लाइट मोड में, Maps Static API की तरह ही टाइलें दिखेंगी.
इसका मतलब है कि अगर इंडोर फ़्लोर प्लान को डिफ़ॉल्ट टाइल में शामिल किया गया है, तो वह दिखेगा. ऐसा न करने पर, यह सुविधा काम नहीं करेगी. इसके अलावा, दिखाए गए लेवल को बदला नहीं जा सकता. साथ ही, लेवल पिकर में बदलाव नहीं किया जा सकता. |
ट्रैफ़िक लेयर | क्या यह सुविधा काम करती है? नहीं
लाइट मोड में GoogleMap.setTrafficEnabled() का इस्तेमाल नहीं किया जा सकता. |
ग्राउंड ओवरले | क्या यह सुविधा काम करती है? नहीं
GoogleMap.addGroundOverlay() की सुविधा, लाइट मोड में उपलब्ध नहीं है. |
टाइलों के ओवरले | क्या यह सुविधा काम करती है? नहीं
GoogleMap.addTileOverlay() की सुविधा, लाइट मोड में उपलब्ध नहीं है. |
हाथ के जेस्चर | क्या यह सुविधा काम करती है? नहीं
लाइट मोड में, जेस्चर का इस्तेमाल नहीं किया जा सकता. जेस्चर की सुविधा चालू और बंद करने पर कोई असर नहीं पड़ेगा. |
सड़क दृश्य | क्या यह सुविधा काम करती है? नहीं
लाइट मोड में Street View काम नहीं करता. |