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