लाइट मोड

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

कोड सैंपल

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

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

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

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

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

इस्तेमाल की जा सकने वाली एपीआई सुविधाएं

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

फ़ंक्शन
मैप के टाइप
क्या यह काम करता है? हां
ये मैप टाइप, GoogleMapOptions.mapType() और GoogleMap.setMapType() के ज़रिए उपलब्ध हैं: MAP_TYPE_NORMAL, MAP_TYPE_SATELLITE, MAP_TYPE_TERRAIN, MAP_TYPE_HYBRID, MAP_TYPE_NONE
पॉलीलाइन, पॉलीगॉन, सर्कल
क्या यह काम करता है? हां
आकार के लिए लाइट मोड की सुविधा, पूरे एपीआई से मेल खाती है.
अनुमान की रिपोर्ट
क्या यह काम करता है? हां
Projection के लिए, लाइट मोड की सुविधा, पूरे एपीआई से मेल खाती है.
मेरी जगह की जानकारी
क्या यह काम करता है? हां
मेरी जगह की जानकारी की लेयर के लाइट मोड की सुविधा, पूरे एपीआई से मेल खाती है.
मैप पैडिंग
क्या यह काम करता है? हां
मैप पैडिंग के लिए लाइट मोड सपोर्ट, पूरे एपीआई से मेल खाता है.
जानकारी विंडो
क्या यह काम करता है? हां
अगर मार्कर का 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 लाइट मोड में काम नहीं करता.