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() ব্যবহার করে
নিজের লিসনার সেট করে এটি ওভাররাইড করতে পারবেন। এছাড়াও, আপনি MapView বা MapFragment থাকা ভিউতে
setClickable() কল করে ম্যাপে ক্লিক ইভেন্ট বন্ধ করতে পারবেন। এই দুটি কৌশলের
বিবরণের জন্য, ইভেন্ট ডকুমেন্টেশন দেখুন।
লাইফ সাইকেল ইভেন্ট
সম্পূর্ণ ইন্ট্যার্যাক্টিভ মোডে 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-এর সাথে
ম্যাচ করে। |
| প্রোজেকশন | কাজ করে? হ্যাঁ
লাইট মোডের কার্যকারিতা
প্রজেকশন
সম্পূর্ণ API-এর সাথে মানানসই। |
| আমার লোকেশন | কাজ করে? হ্যাঁ
আমার লোকেশন লেয়ার-এর জন্য
লাইট মোড কার্যকারিতা
সম্পূর্ণ API-এর সাথে মেলে। |
| ম্যাপ প্যাডিং | কাজ করে? হ্যাঁ
লাইট মোড
ম্যাপ প্যাডিং-এর জন্য কাজ করে
যা সম্পূর্ণ API-এর সাথে ম্যাচ করে। |
| তথ্য উইন্ডোগুলি | কাজ করে? হ্যাঁ
আপনি যদি কোনও মার্কারের title() সেট করেন, তাহলে ব্যবহারকারী মার্কারটিতে ট্যাপ করলে ডিফল্ট
তথ্য উইন্ডো দেখা
যাবে। আপনি মার্কারের উপর showInfoWindow() কল করে
প্রোগ্রাম্যাটিক্যালি তথ্য উইন্ডো দেখাতে পারেন।
এছাড়াও, আপনি
InfoWindowAdapter ইন্টারফেসের মাধ্যমে কাস্টম তথ্য উইন্ডো তৈরি করতে পারবেন। |
| কাস্টম বেস ম্যাপ স্টাইল | কাজ করে? আংশিক
Maps SDK for Android, বেস ম্যাপের
কাস্টম স্টাইলিং
সাপোর্ট করে। লাইট মোড শুধুমাত্র JSON-ভিত্তিক কাস্টম স্টাইলিংয়ের সাথে কাজ করে, ক্লাউড-ভিত্তিক স্টাইলিংয়ের সাথে নয়।
ক্লাউড-ভিত্তিক স্টাইলিংয়ের জন্য স্টাইল করা ম্যাপ রেন্ডার করতে ম্যাপ আইডি প্রয়োজন হয়।
এছাড়াও, লাইট মোডে ডার্ক মোড ব্যবহার করার জন্য
ম্যাপের কালার স্কিম
সেট করা যায় না।
|
| মার্কার | কাজ করে? আংশিক
আপনি একটি মার্কার যোগ করতে পারেন
এবং ক্লিক ইভেন্টে উত্তর দিতে পারেন। এছাড়াও, আপনি কাস্টম মার্কার আইকন
যোগ করতে পারবেন। মার্কার ড্র্যাগ করার সুবিধা দেওয়া সম্ভব নয়। লাইট মোড ম্যাপে
মার্কারগুলি ফ্ল্যাট হয় এবং সেগুলি ঘোরানো যায় না। |
| ক্যামেরার পজিশন, জুম ও অ্যানিমেশন | কাজ করে? আংশিক
আপনি ক্যামেরা টার্গেট ও জুম সেট করতে পারবেন, তবে টিল্ট বা বিয়ারিং সেট করতে পারবেন না।
লাইট মোডে জুম লেভেলকে নিকটতম পূর্ণসংখ্যায় রাউন্ড করা হয়।
|
| ইভেন্ট ম্যাপ করুন | কাজ করে? আংশিক
লাইট মোডে
লাইট মোডে ম্যাপে ক্লিক ইভেন্ট বন্ধ করতে, আপনি
বিস্তারিত জানতে, ইভেন্ট ডকুমেন্টেশন দেখুন। |
| ইনডোর ম্যাপ ও বিল্ডিং | কাজ করে? না
লাইট মোড
Maps Static API-এর মতো একই টাইল দেখাবে।
এর অর্থ হল, ইনডোর ফ্লোর প্ল্যান ডিফল্ট টাইলে বেক করা থাকলে,
এটি দেখা যাবে। অন্যথায়, এটি কাজ করবে না। এছাড়াও, আপনি দেখানো লেভেল পরিবর্তন করতে
পারবেন না বা লেভেল পিকার ম্যানিপুলেট করতে পারবেন না। |
| ট্রাফিকের স্তর | কাজ করে? না
লাইট মোডে GoogleMap.setTrafficEnabled() কাজ করে না।
|
| গ্রাউন্ড ওভারলে | কাজ করে? না
GoogleMap.addGroundOverlay() লাইট
মোডে কাজ করে না। |
| টাইল ওভারলে | কাজ করে? না
GoogleMap.addTileOverlay() লাইট
মোডে কাজ করে না। |
| জেসচার | কাজ করে? না
লাইট মোডে জেসচার কাজ করে না। জেসচার চালু ও বন্ধ করলে
কোনও প্রভাব পড়বে না। |
| Street View | কাজ করে? না
লাইট মোডে Street View
কাজ করে না। |