Android के लिए Maps SDK, मैप की बिटमैप इमेज दिखा सकता है. इससे उपयोगकर्ता को सीमित इंटरैक्टिविटी मिलती है. इसे लाइट मोड मैप कहा जाता है.
कोड सैंपल
GitHub पर मौजूद ApiDemos रिपॉज़िटरी में, ऐसे सैंपल शामिल हैं जो लाइट मोड के इस्तेमाल के बारे में बताते हैं:
- LiteDemoActivity - Java: Java में लाइट मोड मैप इस्तेमाल करने की बुनियादी जानकारी
- LiteDemoActivity - Kotlin: Kotlin में लाइट मोड मैप इस्तेमाल करने की बुनियादी जानकारी
- LiteListDemoActivity - Java: Java में लाइट मोड का इस्तेमाल करके, ListViews में मैप को बेहतर तरीके से दिखाना
- LiteListDemoActivity - Kotlin: Kotlin में लाइट मोड का इस्तेमाल करके, ListViews में मैप को बेहतर तरीके से दिखाना
लाइट मोड के बारे में खास जानकारी
लाइट मोड वाला मैप, किसी जगह और ज़ूम लेवल के हिसाब से मैप की बिटमैप इमेज होती है. लाइट मोड, सभी तरह के मैप (सामान्य, हाइब्रिड, सैटेलाइट, इलाके के हिसाब से) और पूरे एपीआई की कुछ सुविधाओं के साथ काम करता है. लाइट मोड तब काम आता है, जब आपको किसी स्ट्रीम में कई मैप दिखाने हों या कोई ऐसा मैप दिखाना हो जो इतना छोटा हो कि उसमें काम की जानकारी न दिख पाए.
मैप देखने वाले लोग, मैप को ज़ूम या पैन नहीं कर सकते. मैप पर मौजूद आइकॉन की मदद से, उपयोगकर्ता 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);
मैप की शुरुआती स्थिति सेट करने के बारे में जानकारी के लिए, मैप के लिए ऑब्जेक्ट की गाइड देखें.
मैप व्यू या निर्देशों का अनुरोध लॉन्च करने के लिए इंटेंट
डिफ़ॉल्ट रूप से, मैप के सबसे नीचे दाईं ओर मौजूद टूलबार में ऐसे आइकॉन होते हैं जो 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 | क्या यह सुविधा काम करती है? नहीं
लाइट मोड में Street View का इस्तेमाल नहीं किया जा सकता. |