लाइट मोड

Android के लिए Maps SDK टूल, मैप की बिटमैप इमेज दिखा सकता है. इससे उपयोगकर्ता को सीमित इंटरैक्टिविटी मिलती है. इसे लाइट मोड का मैप कहा जाता है.

कोड सैंपल

GitHub पर मौजूद ApiDemos रिपॉज़िटरी में, ऐसे सैंपल शामिल हैं जिनमें लाइट मोड के इस्तेमाल के बारे में बताया गया है:

  • LiteDemoActivity - Java: Java में लाइट मोड वाले मैप का इस्तेमाल करने के बुनियादी तरीके
  • LiteDemoActivity - Kotlin: Kotlin में लाइट मोड वाले मैप का इस्तेमाल करने के बुनियादी तरीके
  • LiteListDemoActivity - Java: Java में लाइट मोड का इस्तेमाल करके, ListViews में बेहतर तरीके से मैप दिखाना
  • LiteListDemoActivity - Kotlin: Kotlin में लाइट मोड का इस्तेमाल करके, ListViews में मैप को बेहतर तरीके से दिखाना

लाइट मोड के बारे में खास जानकारी

लाइट मोड मैप, किसी तय जगह और ज़ूम लेवल पर मैप की बिटमैप इमेज होती है. लाइट मोड में, सभी तरह के मैप (सामान्य, हाइब्रिड, सैटलाइट, और टेरेन) काम करते हैं. साथ ही, इसमें एपीआई की सभी सुविधाओं का एक सबसेट भी काम करता है. लाइट मोड तब काम आता है, जब आपको स्ट्रीम में कई मैप दिखाने हों या ऐसा मैप दिखाना हो जो इंटरैक्ट करने के लिए बहुत छोटा हो.

मैप देखने वाले लोग, मैप को ज़ूम या पैन नहीं कर सकते. मैप पर मौजूद आइकॉन की मदद से, उपयोगकर्ता Google Maps के मोबाइल ऐप्लिकेशन में मैप देख सकते हैं और निर्देशों का अनुरोध कर सकते हैं.

लाइट मोड में मैप जोड़ना

लाइट मोड में, Google Maps के Android एपीआई की तरह ही क्लास और इंटरफ़ेस का इस्तेमाल किया जाता है. 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() को कॉल करना होगा. ऐसा इसलिए, क्योंकि जगह की जानकारी का सोर्स सिर्फ़ इन कॉल के बीच अपडेट होगा. अगर आपने अपनी जगह की जानकारी के लिए कोई दूसरा सोर्स इस्तेमाल किया है, तो इन दोनों तरीकों को कॉल करना ज़रूरी नहीं है.

API की साथ काम करने वाली सुविधाएं

यहां दी गई टेबल में, एपीआई की सुविधाओं के हर हिस्से के लिए, लाइट मोड वाले मैप के काम करने के तरीके के बारे में बताया गया है. अगर कोई ऐप्लिकेशन किसी ऐसे तरीके का इस्तेमाल करता है जो लाइट मोड में काम नहीं करता, तो एपीआई चेतावनी वाला मैसेज लॉग करेगा.

फ़ंक्शन
मैप के टाइप
क्या यह सुविधा काम करती है? हां
GoogleMapOptions.mapType() और GoogleMap.setMapType() के ज़रिए, ये मैप के टाइप उपलब्ध हैं: MAP_TYPE_NORMAL, MAP_TYPE_SATELLITE, MAP_TYPE_TERRAIN, MAP_TYPE_HYBRID, MAP_TYPE_NONE
पॉलीलाइन, पॉलीगॉन, सर्कल
क्या यह सुविधा काम करती है? हां
आकार के लिए, लाइट मोड की सुविधा, एपीआई के पूरे वर्शन से मेल खाती है.
अनुमान
क्या यह सुविधा काम करती है? हां
प्रोजेक्शन के लिए, लाइट मोड की सुविधाएं, एपीआई की पूरी सुविधाओं से मेल खाती हैं.
मेरी जगह की जानकारी
क्या यह सुविधा काम करती है? हां
मेरी जगह की जानकारी वाली लेयर के लिए, लाइट मोड की सुविधा, एपीआई की पूरी सुविधाओं से मेल खाती है.
मैप पैडिंग
क्या यह सुविधा काम करती है? हां
मैप पैडिंग के लिए, लाइट मोड की सुविधा, एपीआई की पूरी सुविधा से मेल खाती है.
जानकारी विंडो
क्या यह सुविधा काम करती है? हां
अगर आपने किसी मार्कर का title() सेट किया है, तो उपयोगकर्ता के मार्कर पर टैप करने पर, डिफ़ॉल्ट जानकारी वाली विंडो दिखेगी. मार्कर पर showInfoWindow() को कॉल करके, प्रोग्राम के हिसाब से जानकारी वाली विंडो दिखाई जा सकती है. InfoWindowAdapter इंटरफ़ेस की मदद से भी, जानकारी वाली कस्टम विंडो बनाई जा सकती हैं.
पसंद के मुताबिक बुनियादी मैप की स्टाइल
क्या यह सुविधा काम करती है? Partly
Android के लिए Maps SDK टूल, आधार मैप की कस्टम स्टाइल के साथ काम करता है. लाइट मोड में, सिर्फ़ JSON पर आधारित कस्टम स्टाइलिंग की सुविधा काम करती है. इसमें, क्लाउड पर आधारित स्टाइलिंग की सुविधा काम नहीं करती. इस सुविधा के लिए, स्टाइल वाले मैप को रेंडर करने के लिए मैप आईडी की ज़रूरत होती है. लाइट मोड में, गहरे रंग वाले मोड का इस्तेमाल करने के लिए, मैप की कलर स्कीम को सेट नहीं किया जा सकता.
मार्कर
क्या यह सुविधा काम करती है? Partly
मार्कर जोड़ा जा सकता है और क्लिक इवेंट का जवाब दिया जा सकता है. आपके पास कस्टम मार्कर आइकॉन भी जोड़ने का विकल्प है. मार्कर को खींचकर किसी दूसरी जगह नहीं ले जाया जा सकता. लाइट मोड वाले मैप पर मार्कर, सपाट होते हैं और उन्हें घुमाया नहीं जा सकता.
कैमरे की पोज़िशन, ज़ूम, और ऐनिमेशन
क्या यह सुविधा काम करती है? Partly

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

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

इवेंट मैप करना
क्या यह सुविधा काम करती है? Partly

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

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

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

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