लाइट मोड

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 पर आधारित कस्टम स्टाइलिंग की सुविधा मिलती है. क्लाउड पर आधारित स्टाइलिंग की सुविधा नहीं मिलती. इसके लिए, स्टाइल वाला मैप रेंडर करने के लिए, मैप आईडी की ज़रूरत होती है. लाइट मोड में, डार्क मोड का इस्तेमाल करने के लिए, मैप की कलर स्कीम सेट करने की सुविधा भी नहीं मिलती.
मार्कर
क्या इसका इस्तेमाल किया जा सकता है? कुछ हद तक
आप एक मार्कर जोड़ सकते हैं और क्लिक इवेंट का जवाब दे सकते हैं. मार्कर के कस्टम आइकॉन भी जोड़े जा सकते हैं. मार्कर को ड्रैग नहीं किया जा सकता. लाइट मोड वाले मैप पर मौजूद मार्कर फ़्लैट होते हैं और उन्हें घुमाया नहीं जा सकता.
कैमरे की पोज़िशन, ज़ूम, और ऐनिमेशन
क्या इसका इस्तेमाल किया जा सकता है? कुछ हद तक

कैमरे का टारगेट और ज़ूम सेट किया जा सकता है. हालांकि, झुकाव या बेयरिंग सेट नहीं की जा सकती. लाइट मोड में, ज़ूम लेवल को निकटतम पूर्णांक में बदल दिया जाता है. GoogleMap.moveCamera() को कॉल करने पर, आपको लाइट मोड वाले मैप की दूसरी इमेज मिलेगी. कैमरे को सेट करने और उसमें बदलाव करने के बारे में ज़्यादा जानने के लिए, व्यू बदलना लेख पढ़ें.

GoogleMap.animateCamera() को कॉल करने पर, कैमरे के मूवमेंट का ऐनिमेशन नहीं दिखेगा. कैमरा व्यू, नई पोज़िशन पर तुरंत चला जाएगा.

इवेंट मैप करना
क्या इसका इस्तेमाल किया जा सकता है? कुछ हद तक

लाइट मोड में, GoogleMap.setOnMapClickListener() और GoogleMap.setOnMapLongClickListener() का इस्तेमाल किया जा सकता है.

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

ज़्यादा जानकारी के लिए, इवेंट का दस्तावेज़ देखें.

इनडोर मैप और इमारतें
क्या इसका इस्तेमाल किया जा सकता है? नहीं
लाइट मोड में, Maps Static API की तरह ही टाइलें दिखेंगी. इसका मतलब है कि अगर इनडोर फ़्लोर प्लान, डिफ़ॉल्ट टाइल में शामिल है, वह दिखेगा. वरना, वह नहीं दिखेगा. इसके अलावा, दिखाए गए लेवल को बदला नहीं जा सकता या लेवल पिकर में बदलाव नहीं किया जा सकता.
ट्रैफ़िक लेयर
क्या इसका इस्तेमाल किया जा सकता है? नहीं
GoogleMap.setTrafficEnabled() का इस्तेमाल लाइट मोड में नहीं किया जा सकता.
ग्राउंड ओवरले
क्या इसका इस्तेमाल किया जा सकता है? नहीं
GoogleMap.addGroundOverlay() का इस्तेमाल लाइट मोड में नहीं किया जा सकता.
टाइटल ओवरले
क्या इसका इस्तेमाल किया जा सकता है? नहीं
GoogleMap.addTileOverlay() का इस्तेमाल लाइट मोड में नहीं किया जा सकता.
हाथ के जेस्चर
क्या इसका इस्तेमाल किया जा सकता है? नहीं
लाइट मोड में, हाथ के जेस्चर का इस्तेमाल नहीं किया जा सकता. हाथ के जेस्चर की सुविधा चालू या बंद करने से कोई असर नहीं पड़ेगा.
Street View
क्या इसका इस्तेमाल किया जा सकता है? नहीं
लाइट मोड में, Street View की सुविधा नहीं मिलती.