অ্যান্ড্রয়েডের জন্য ম্যাপস SDK একটি মানচিত্রের বিটম্যাপ চিত্র পরিবেশন করতে পারে, যা ব্যবহারকারীকে সীমিত ইন্টারঅ্যাক্টিভিটি প্রদান করে। এটিকে লাইট মোড ম্যাপ বলা হয়।
কোড নমুনা
GitHub-এর ApiDemos সংগ্রহস্থলে এমন নমুনা রয়েছে যা লাইট মোডের ব্যবহার প্রদর্শন করে:
- LiteDemoActivity - জাভা : জাভাতে লাইট মোড ম্যাপ ব্যবহারের মূল বিষয়গুলি
- LiteDemoActivity - Kotlin : Kotlin-এ লাইট মোড ম্যাপ ব্যবহারের মূল বিষয়গুলি
- LiteListDemoActivity - জাভা : জাভাতে লাইট মোড ব্যবহার করে ListViews-এ দক্ষতার সাথে মানচিত্র প্রদর্শন করা
- LiteListDemoActivity - Kotlin : Kotlin-এ লাইট মোড ব্যবহার করে ListViews-এ দক্ষতার সাথে মানচিত্র প্রদর্শন করা
লাইট মোডের ওভারভিউ
একটি লাইট মোড ম্যাপ হল একটি নির্দিষ্ট অবস্থান এবং জুম স্তরে একটি মানচিত্রের একটি বিটম্যাপ চিত্র। লাইট মোড সমস্ত ধরণের মানচিত্র (সাধারণ, হাইব্রিড, উপগ্রহ, ভূখণ্ড) এবং সম্পূর্ণ API দ্বারা সরবরাহিত কার্যকারিতার একটি উপসেট সমর্থন করে। যখন আপনি একটি স্ট্রিমে একাধিক মানচিত্র প্রদান করতে চান, অথবা এমন একটি মানচিত্র যা অর্থপূর্ণ ইন্টারঅ্যাকশন সমর্থন করার জন্য খুব ছোট, তখন লাইট মোড কার্যকর।
ম্যাপ দেখার সময় ব্যবহারকারীরা ম্যাপ জুম বা প্যান করতে পারবেন না। ম্যাপের আইকনগুলি ব্যবহারকারীদের Google Maps মোবাইল অ্যাপে ম্যাপ দেখার এবং দিকনির্দেশনা অনুরোধ করার সুযোগ দেয়।
একটি লাইট মোড ম্যাপ যোগ করা হচ্ছে
লাইট মোড সম্পূর্ণ গুগল ম্যাপস অ্যান্ড্রয়েড এপিআই-এর মতো একই ক্লাস এবং ইন্টারফেস ব্যবহার করে। আপনি নিম্নলিখিত উপায়ে 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 অবজেক্টে
কোটলিন
val options = GoogleMapOptions() .liteMode(true)
জাভা
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 ইন্টারফেসের মাধ্যমে কাস্টম তথ্য উইন্ডোও তৈরি করতে পারেন। |
| কাস্টম বেস ম্যাপ স্টাইল | সমর্থিত? আংশিকভাবে অ্যান্ড্রয়েডের জন্য ম্যাপস SDK বেস ম্যাপের কাস্টম স্টাইলিং সমর্থন করে। লাইট মোড শুধুমাত্র JSON-ভিত্তিক কাস্টম স্টাইলিং সমর্থন করে, ক্লাউড-ভিত্তিক স্টাইলিং নয় যার জন্য স্টাইল করা ম্যাপ রেন্ডার করার জন্য একটি ম্যাপ আইডি প্রয়োজন। লাইট মোড ডার্ক মোড ব্যবহার করার জন্য ম্যাপের রঙের স্কিম সেট করাও সমর্থন করে না। |
| মার্কার | সমর্থিত? আংশিকভাবে আপনি একটি মার্কার যোগ করতে পারেন এবং একটি ক্লিক ইভেন্টে প্রতিক্রিয়া জানাতে পারেন। আপনি কাস্টম মার্কার আইকনও যোগ করতে পারেন। মার্কার টেনে আনা সম্ভব নয়। লাইট মোড ম্যাপে মার্কারগুলি সমতল, এবং সেগুলি ঘোরানো যাবে না। |
| ক্যামেরার অবস্থান, জুম এবং অ্যানিমেশন | সমর্থিত? আংশিকভাবে আপনি ক্যামেরার টার্গেট সেট করতে পারেন এবং জুম করতে পারেন, কিন্তু টিল্ট বা বিয়ারিং নয়। লাইট মোডে জুম লেভেলটি নিকটতম পূর্ণসংখ্যায় রাউন্ড করা হয়। |
| ম্যাপ ইভেন্ট | সমর্থিত? আংশিকভাবে লাইট মোড লাইট মোডে ম্যাপে ক্লিক ইভেন্টগুলি অক্ষম করতে, আপনি বিস্তারিত জানার জন্য, ইভেন্ট ডকুমেন্টেশন দেখুন। |
| অভ্যন্তরীণ মানচিত্র এবং ভবন | সমর্থিত? না লাইট মোডে Maps Static API-এর মতো একই টাইলস দেখাবে। এর মানে হল, যদি ইনডোর ফ্লোর প্ল্যানটি ডিফল্ট টাইলে বেক করা থাকে, তাহলে এটি প্রদর্শিত হবে। অন্যথায়, এটি প্রদর্শিত হবে না। অধিকন্তু, আপনি দেখানো স্তর পরিবর্তন করতে পারবেন না বা লেভেল পিকারকে ম্যানিপুলেট করতে পারবেন না। |
| ট্র্যাফিক স্তর | সমর্থিত? না লাইট মোডে GoogleMap.setTrafficEnabled() সমর্থিত নয়। |
| গ্রাউন্ড ওভারলে | সমর্থিত? না লাইট মোডে GoogleMap.addGroundOverlay() সমর্থিত নয়। |
| টাইল ওভারলে | সমর্থিত? না লাইট মোডে GoogleMap.addTileOverlay() সমর্থিত নয়। |
| অঙ্গভঙ্গি | সমর্থিত? না লাইট মোড অঙ্গভঙ্গি সমর্থন করে না। অঙ্গভঙ্গি সক্ষম এবং অক্ষম করলে কোনও প্রভাব পড়বে না। |
| রাস্তার দৃশ্য | সমর্থিত? না লাইট মোডে রাস্তার দৃশ্য সমর্থিত নয়। |