Android के लिए Maps SDK, मैप की बिटमैप इमेज दिखा सकता है. इससे उपयोगकर्ता को सीमित इंटरैक्टिविटी मिलती है. इसे लाइट मोड वाला मैप कहा जाता है.
कोड सैंपल
GitHub पर मौजूद ApiDemos repository में, ऐसे सैंपल शामिल हैं जो लाइट मोड के इस्तेमाल के बारे में बताते हैं:
- 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);
मैप की शुरुआती स्थिति सेट करने के बारे में जानने के लिए, मैप ऑब्जेक्ट की गाइड देखें.
मैप व्यू लॉन्च करने या रास्ते की जानकारी के अनुरोध के लिए इंटेंट
डिफ़ॉल्ट रूप से, मैप के सबसे नीचे दाएं कोने में मौजूद टूलबार में ऐसे आइकॉन होते हैं जिनसे Google Maps के मोबाइल ऐप्लिकेशन में मैप व्यू या रास्ते की जानकारी के अनुरोध का ऐक्सेस मिलता है. `UiSettings.setMapToolbarEnabled(false)` को कॉल करके, टूलबार को बंद किया जा सकता है.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 की सुविधा
नहीं मिलती. |