Maps SDK for Android ম্যাপের বিটম্যাপ ছবি দেখাতে পারে, যা ব্যবহারকারীকে সীমিত ইন্টার্যাক্টিভিটি অফার করে। একে লাইট মোড ম্যাপ বলা হয়।
কোডের নমুনা
GitHub-এ ApiDemos রিপোজিটরিতে লাইট মোডের ব্যবহার দেখানোর জন্য স্যাম্পেল অন্তর্ভুক্ত করা আছে:
- LiteDemoActivity - Java: Java-তে লাইট মোড ম্যাপ ব্যবহার করার প্রাথমিক তথ্য
- LiteDemoActivity - Kotlin: Kotlin-এ লাইট মোড ম্যাপ ব্যবহার করার প্রাথমিক বিষয়
- LiteListDemoActivity - Java: Java-তে লাইট মোড ব্যবহার করে ListViews-এ দক্ষতার সাথে ম্যাপ দেখানো
- LiteListDemoActivity - Kotlin: Kotlin-এ লাইট মোড ব্যবহার করে ListViews-এ দক্ষতার সাথে ম্যাপ দেখানো
লাইট মোডের ওভারভিউ
লাইট মোড ম্যাপ হল নির্দিষ্ট লোকেশন ও জুম লেভেলে ম্যাপের বিটম্যাপ ছবি। লাইট মোড সব ধরনের ম্যাপ (সাধারণ, হাইব্রিড, স্যাটেলাইট, টেরেন) এবং সম্পূর্ণ API দ্বারা সরবরাহ করা কার্যকারিতার একটি সাবসেট সমর্থন করে। লাইট মোড তখনই উপযোগী যখন আপনি কোনও স্ট্রিমে একাধিক ম্যাপ দেখাতে চান অথবা এমন কোনও ম্যাপ দেখাতে চান যা অর্থপূর্ণ ইন্টার্যাকশন দেখানোর পক্ষে খুবই ছোট।
ম্যাপ দেখছেন এমন ব্যবহারকারী ম্যাপ জুম বা প্যান করতে পারবেন না। ম্যাপে থাকা আইকন ব্যবহারকারীদের Google Maps মোবাইল অ্যাপে ম্যাপ দেখার এবং দিকনির্দেশের অনুরোধ করার অ্যাক্সেস দেয়।
লাইট মোড ম্যাপ যোগ করা হচ্ছে
লাইট মোড, সম্পূর্ণ Google Maps Android API-এর মতো একই ক্লাস ও ইন্টারফেস ব্যবহার করে। আপনি নিম্নলিখিত উপায়ে GoogleMap-কে লাইট মোডে সেট করতে
পারবেন:
MapViewবাMapFragment-এর জন্য XML অ্যাট্রিবিউট হিসেবে- অথবা
GoogleMapOptionsঅবজেক্টে
MapView বা MapFragment-এর জন্য XML অ্যাট্রিবিউট হিসেবে
<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) কল করে টুলবার বন্ধ করতে পারবেন। আরও
বিবরণের জন্য, টুলবার ডকুমেন্টেশন দেখুন।
এছাড়াও, ডিফল্ট হিসেবে কোনও ব্যবহারকারী ম্যাপে ট্যাপ করলে, API, Google Maps মোবাইল অ্যাপ
চালু করে। আপনি GoogleMap.setOnMapClickListener() ব্যবহার করে এটি ওভাররাইড করতে পারবেন
যাতে আপনার নিজস্ব লিসেনার সেট করতে পারেন। এছাড়াও, আপনি ম্যাপে ক্লিক ইভেন্ট বন্ধ করতে পারবেন,
setClickable()-এ কল করে, যে ভিউতে MapView বা MapFragment আছে। এই দুটি কৌশলের
বিবরণ জানতে, ইভেন্ট ডকুমেন্টেশন দেখুন।
লাইফ সাইকেল ইভেন্ট
সম্পূর্ণ ইন্টার্যাক্টিভ মোডে API ব্যবহার করার সময়, MapView ক্লাসের ব্যবহারকারীদের
অবশ্যই সমস্ত অ্যাক্টিভিটি লাইফ সাইকেল পদ্ধতি MapView ক্লাসের সংশ্লিষ্ট পদ্ধতিতে
ফরওয়ার্ড করতে হবে। লাইফ সাইকেল পদ্ধতির উদাহরণের মধ্যে রয়েছে
onCreate(), onDestroy(), onResume() এবং onPause()।
লাইট মোডে MapView ক্লাস ব্যবহার করার সময়, লাইফসাইকেল ইভেন্ট ফরওয়ার্ড করা
ঐচ্ছিক, তবে নিম্নলিখিত পরিস্থিতিগুলি এর ব্যতিক্রম:
onCreate()কল করা বাধ্যতামূলক, অন্যথায় কোনও ম্যাপ দেখা যাবে না।- আপনি যদি লাইট মোড ম্যাপে 'আমার লোকেশন' ডট দেখাতে চান এবং ডিফল্ট লোকেশন সোর্স ব্যবহার করতে চান, তাহলে আপনাকে
onResume()এবংonPause()কল করতে হবে, কারণ লোকেশন সোর্স শুধুমাত্র এই কলগুলির মধ্যে আপডেট হবে। আপনি নিজের লোকেশন সোর্স ব্যবহার করলে, এই দুটি পদ্ধতি কল করার প্রয়োজন নেই।
কাজ করে এমন API ফিচার
নিম্নলিখিত সারণীতে API কার্যকারিতার প্রতিটি ক্ষেত্রের জন্য লাইট মোড ম্যাপের আচরণ বর্ণনা করা হয়েছে। কোনও অ্যাপ যদি এমন কোনও পদ্ধতি কল করে যা লাইট মোডে কাজ করে না, তাহলে API একটি সতর্কতা মেসেজ লগ করবে।
| কার্যকারিতা | |
|---|---|
| ম্যাপের ধরন | কাজ করে? হ্যাঁ
GoogleMapOptions.mapType() এবং
GoogleMap.setMapType()-এর মাধ্যমে নিম্নলিখিত ম্যাপের
ধরন উপলভ্য: MAP_TYPE_NORMAL,
MAP_TYPE_SATELLITE, MAP_TYPE_TERRAIN,
MAP_TYPE_HYBRID, MAP_TYPE_NONE |
| পলিলাইন, বহুভুজ, বৃত্ত | কাজ করে? হ্যাঁ
শেপ-এর জন্য লাইট মোড কার্যকারিতা
সম্পূর্ণ API-এর সাথে
মিলে যায়। |
| Projection | কাজ করে? হ্যাঁ
Projection-এর জন্য
লাইট মোড কার্যকারিতা
সম্পূর্ণ API-এর সাথে মেলে। |
| আমার লোকেশন | কাজ করে? হ্যাঁ
আমার লোকেশন লেয়ার-এর জন্য
লাইট মোড কার্যকারিতা
সম্পূর্ণ API-এর সাথে মেলে। |
| ম্যাপ প্যাডিং | কাজ করে? হ্যাঁ
ম্যাপ প্যাডিং-এর জন্য
লাইট মোড সাপোর্ট
সম্পূর্ণ API-এর সাথে ম্যাচ করে। |
| তথ্য উইন্ডোগুলি | কাজ করে? হ্যাঁ
আপনি কোনও মার্কারের title() সেট করলে, ব্যবহারকারী মার্কার ট্যাপ করলে ডিফল্ট
তথ্য উইন্ডো
দেখা যাবে। আপনি মার্কারের উপর showInfoWindow() কল করে
প্রোগ্রাম্যাটিক্যালি তথ্য উইন্ডো দেখাতে পারবেন।
এছাড়াও, আপনি InfoWindowAdapter ইন্টারফেসের মাধ্যমে
কাস্টম তথ্য উইন্ডো তৈরি করতে পারবেন। |
| কাস্টম বেস ম্যাপ স্টাইল | কাজ করে? আংশিক
Maps SDK for Android-এ বেস ম্যাপের
কাস্টম স্টাইলিং
কাজ করে। লাইট মোড শুধুমাত্র JSON-ভিত্তিক কাস্টম স্টাইলিংয়ের সাথে কাজ করে,
ক্লাউড-ভিত্তিক স্টাইলিংয়ের সাথে নয়, যার জন্য স্টাইল করা ম্যাপ রেন্ডার করতে ম্যাপ আইডি প্রয়োজন হয়।
এছাড়াও, লাইট মোডে ডার্ক মোড ব্যবহার করার জন্য
ম্যাপের রঙের স্কিম
সেট করা যায় না।
|
| মার্কার | কাজ করে? আংশিক
আপনি একটি মার্কার যোগ করতে
এবং ক্লিক ইভেন্টে উত্তর দিতে পারবেন। এছাড়াও, আপনি কাস্টম মার্কার আইকন
যোগ করতে পারবেন। মার্কার ড্র্যাগ করার সুবিধা দেওয়া সম্ভব নয়। লাইট মোড ম্যাপে
মার্কারগুলি ফ্ল্যাট হয় এবং সেগুলি ঘোরানো যায় না। |
| ক্যামেরার পজিশন, জুম ও অ্যানিমেশন | কাজ করে? আংশিক
আপনি ক্যামেরার টার্গেট ও জুম সেট করতে পারবেন, তবে টিল্ট বা বিয়ারিং নয়।
লাইট মোডে জুম লেভেল নিকটতম পূর্ণসংখ্যায় রাউন্ড করা হয়।
|
| ম্যাপ ইভেন্ট | কাজ করে? আংশিক
লাইট মোডে
লাইট মোডে ম্যাপে ক্লিক ইভেন্ট বন্ধ করতে, আপনি
বিস্তারিত জানতে, ইভেন্ট ডকুমেন্টেশন দেখুন। |
| ইনডোর ম্যাপ ও বিল্ডিং | কাজ করে? না
লাইট মোড
Maps Static API-এর মতো একই টাইল দেখাবে।
এর অর্থ হল, ডিফল্ট টাইল হিসেবে ইনডোর ফ্লোর প্ল্যান সেট করা থাকলে,
এটি দেখা যাবে। অন্যথায়, এটি কাজ করবে না। এছাড়াও, আপনি দেখানো লেভেল পরিবর্তন করতে বা লেভেল পিকার ম্যানিপুলেট করতে পারবেন না। |
| ট্রাফিকের স্তর | কাজ করে? না
লাইট মোডে GoogleMap.setTrafficEnabled()
কাজ করে না। |
| গ্রাউন্ড ওভারলে | কাজ করে? না
লাইট মোডে GoogleMap.addGroundOverlay() কাজ করে
না। |
| টাইল ওভারলে | কাজ করে? না
লাইট মোডে GoogleMap.addTileOverlay() কাজ করে
না। |
| জেসচার | কাজ করে? না
লাইট মোডে জেসচার কাজ করে না। জেসচার চালু বা বন্ধ করলে
কোনও প্রভাব পড়বে না। |
| Street View | কাজ করে? না
লাইট মোডে Street View
কাজ করে না। |