लाइट मोड

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

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

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

इवेंट मैप करना
काम करता है? कुछ हद तक

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

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

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

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