অ্যান্ড্রয়েডের জন্য মানচিত্র SDK ব্যবহার করে, আপনি যেভাবে ব্যবহারকারীরা আপনার মানচিত্রের সাথে ইন্টারঅ্যাক্ট করতে পারেন তা কাস্টমাইজ করতে পারেন, ম্যাপে অন্তর্নির্মিত UI উপাদানগুলির মধ্যে কোনটি প্রদর্শিত হবে এবং কোন অঙ্গভঙ্গি অনুমোদিত হবে তা নির্ধারণ করে৷
কোড নমুনা
GitHub-এ ApiDemos সংগ্রহস্থলে একটি নমুনা রয়েছে যা নিয়ন্ত্রণ এবং অঙ্গভঙ্গি বিকল্পগুলির ব্যবহার প্রদর্শন করে:
- UiSettingsDemoActivity : Kotlin নমুনা
- UiSettingsDemoActivity : জাভা নমুনা
ন্যূনতম ব্যবহারকারীর ইন্টারঅ্যাকশনের জন্য লাইট মোড
আপনি যদি ন্যূনতম ব্যবহারকারীর মিথস্ক্রিয়া সহ একটি হালকা-ওজন মানচিত্র চান তবে একটি লাইট-মোড মানচিত্র ব্যবহার করার কথা বিবেচনা করুন। লাইট মোড একটি নির্দিষ্ট অবস্থান এবং জুম স্তরে একটি মানচিত্রের একটি বিটম্যাপ চিত্র অফার করে৷ লাইট মোডে, ব্যবহারকারীরা মানচিত্রটি প্যান বা জুম করতে পারে না এবং অঙ্গভঙ্গি কাজ করে না। বিস্তারিত জানার জন্য, লাইট মোডের নির্দেশিকা দেখুন।
UI নিয়ন্ত্রণ
Maps API অন্তর্নির্মিত UI কন্ট্রোল অফার করে যা আপনার Android ফোনে Google Maps অ্যাপলিকেশনের মতোই। আপনি UiSettings
ক্লাস ব্যবহার করে এই নিয়ন্ত্রণগুলির দৃশ্যমানতা টগল করতে পারেন যা GoogleMap.getUiSettings
পদ্ধতিতে GoogleMap
থেকে পাওয়া যেতে পারে। এই ক্লাসে করা পরিবর্তনগুলি অবিলম্বে মানচিত্রে প্রতিফলিত হয়। এই বৈশিষ্ট্যগুলির একটি উদাহরণ দেখতে, নমুনা অ্যাপ্লিকেশনটিতে UI সেটিংস ডেমো কার্যকলাপ দেখুন।
আপনি এই বিকল্পগুলির বেশিরভাগ কনফিগার করতে পারেন যখন মানচিত্রটি XML বৈশিষ্ট্যগুলির মাধ্যমে বা GoogleMapOptions
ক্লাস ব্যবহার করে তৈরি করা হয়। আরও বিস্তারিত জানার জন্য প্রাথমিক অবস্থা কনফিগার করা দেখুন।
প্রতিটি UI নিয়ন্ত্রণের মানচিত্রের প্রান্তের সাপেক্ষে একটি পূর্ব-নির্ধারিত অবস্থান থাকে। আপনি GoogleMap
অবজেক্টে প্যাডিং যোগ করে উপরে, নীচে, বাম বা ডান প্রান্ত থেকে নিয়ন্ত্রণগুলি সরাতে পারেন।
জুম নিয়ন্ত্রণ
মানচিত্র API অন্তর্নির্মিত জুম নিয়ন্ত্রণ প্রদান করে যা মানচিত্রের নীচের ডানদিকের কোণায় প্রদর্শিত হয়। এগুলি ডিফল্টরূপে অক্ষম করা হয়, কিন্তু UiSettings.setZoomControlsEnabled(true)
কল করে সক্ষম করা যেতে পারে।
![জুম নিচের ডানদিকে নিয়ন্ত্রণ করে। Zoom Controls](https://developers.google.com/static/maps/documentation/android-sdk/images/zoomcontrols.png?hl=bn)
কম্পাস
মানচিত্র API একটি কম্পাস গ্রাফিক প্রদান করে যা নির্দিষ্ট পরিস্থিতিতে মানচিত্রের উপরের বাম কোণে প্রদর্শিত হয়। কম্পাসটি শুধুমাত্র তখনই প্রদর্শিত হবে যখন ক্যামেরাটি এমনভাবে ভিত্তিক হবে যাতে এটিতে একটি নন-জিরো বিয়ারিং বা নন-জিরো টিল্ট থাকে। যখন ব্যবহারকারী কম্পাসে ক্লিক করেন, ক্যামেরাটি শূন্যের ভারবহন এবং কাত (ডিফল্ট অভিযোজন) সহ একটি অবস্থানে ফিরে আসে এবং কম্পাস কিছুক্ষণ পরেই বিবর্ণ হয়ে যায়। আপনি UiSettings.setCompassEnabled(boolean)
কল করে কম্পাসটি সম্পূর্ণরূপে উপস্থিত হওয়া অক্ষম করতে পারেন। যাইহোক, আপনি কম্পাসটিকে সর্বদা দেখানোর জন্য জোর করতে পারবেন না।
![উপরের বাম দিকে কম্পাস। Compass](https://developers.google.com/static/maps/documentation/android-sdk/images/compass.png?hl=bn)
আমার অবস্থান বোতাম
আমার অবস্থান স্তরটি সক্ষম হলেই স্ক্রিনের উপরের ডানদিকে আমার অবস্থান বোতামটি উপস্থিত হয়৷ বিস্তারিত জানার জন্য, অবস্থান ডেটার নির্দেশিকা দেখুন।
![উপরের ডানদিকে আমার অবস্থান বোতাম। My Location button](https://developers.google.com/static/maps/documentation/android-sdk/images/mylocationbutton.png?hl=bn)
লেভেল পিকার
ডিফল্টরূপে, ব্যবহারকারী যখন একটি অন্দর মানচিত্র দেখছেন তখন স্ক্রিনের কেন্দ্রের ডানদিকের প্রান্তের কাছে একটি লেভেল পিকার (ফ্লোর পিকার) উপস্থিত হয়৷ যখন দুই বা ততোধিক ইনডোর মানচিত্র দৃশ্যমান হয় তখন লেভেল পিকারটি সেই বিল্ডিংটিতে প্রযোজ্য হবে যা বর্তমানে ফোকাসে রয়েছে, যেটি সাধারণত স্ক্রিনের কেন্দ্রের কাছাকাছি। প্রতিটি বিল্ডিং একটি ডিফল্ট স্তর আছে যা নির্বাচন করা হবে যখন পিকার প্রথম প্রদর্শিত হবে। ব্যবহারকারীরা পিকার থেকে এটি নির্বাচন করে একটি ভিন্ন স্তর চয়ন করতে পারেন।
আপনি GoogleMap.getUiSettings().setIndoorLevelPickerEnabled(boolean)
কল করে লেভেল পিকার নিয়ন্ত্রণ নিষ্ক্রিয় বা সক্ষম করতে পারেন।
আপনি যদি ডিফল্ট লেভেল পিকারটি নিজের সাথে প্রতিস্থাপন করতে চান তবে এটি কার্যকর।
![কেন্দ্রের ডানদিকে লেভেল পিকার। Level picker](https://developers.google.com/static/maps/documentation/android-sdk/images/levelpicker.png?hl=bn)
মানচিত্র টুলবার
ডিফল্টরূপে, একটি টুলবার মানচিত্রের নীচে ডানদিকে প্রদর্শিত হয় যখন একজন ব্যবহারকারী একটি মার্কারকে ট্যাপ করে। টুলবার ব্যবহারকারীকে Google Maps মোবাইল অ্যাপে দ্রুত অ্যাক্সেস দেয়।
আপনি UiSettings.setMapToolbarEnabled(boolean)
কল করে টুলবার সক্রিয় এবং নিষ্ক্রিয় করতে পারেন।
একটি লাইট-মোড মানচিত্রে, টুলবার ব্যবহারকারীর ক্রিয়াকলাপ থেকে স্বাধীনভাবে টিকে থাকে। একটি সম্পূর্ণ-ইন্টারেক্টিভ মানচিত্রে, ব্যবহারকারী যখন একটি মার্কারকে ট্যাপ করে তখন টুলবারটি স্লাইড করে এবং যখন মার্কারটি আর ফোকাসে থাকে না তখন আবার স্লাইড করে।
টুলবার আইকনগুলি প্রদর্শন করে যা Google মানচিত্র মোবাইল অ্যাপে একটি মানচিত্র দৃশ্য বা দিকনির্দেশের অনুরোধে অ্যাক্সেস প্রদান করে। যখন একজন ব্যবহারকারী টুলবারে একটি আইকন ট্যাপ করে, তখন API Google Maps মোবাইল অ্যাপে সংশ্লিষ্ট কার্যকলাপ চালু করার জন্য একটি অভিপ্রায় তৈরি করে।
![নীচে ডানদিকে টুলবার। Map Toolbar](https://developers.google.com/static/maps/documentation/android-sdk/images/intents.png?hl=bn)
উপরের স্ক্রিনশটে মানচিত্রের নীচে ডানদিকে টুলবারটি দৃশ্যমান। জিরো, একটি বা উভয় অভিপ্রায় আইকন মানচিত্রে প্রদর্শিত হবে, মানচিত্রের বিষয়বস্তুর উপর নির্ভর করে এবং যদি Google মানচিত্র মোবাইল অ্যাপ ফলে অভিপ্রায় সমর্থন করে।
মানচিত্র অঙ্গভঙ্গি
অ্যান্ড্রয়েডের জন্য মানচিত্র SDK দিয়ে তৈরি একটি মানচিত্র Google মানচিত্র অ্যাপ্লিকেশনের মতো একই অঙ্গভঙ্গি সমর্থন করে৷ যাইহোক, এমন পরিস্থিতি হতে পারে যেখানে আপনি মানচিত্রের অবস্থা সংরক্ষণ করার জন্য নির্দিষ্ট অঙ্গভঙ্গি অক্ষম করতে চান। জুম, প্যান, টিল্ট এবং বিয়ারিংও প্রোগ্রাম্যাটিকভাবে সেট করা যেতে পারে - আরও বিস্তারিত জানার জন্য ক্যামেরা এবং ভিউ দেখুন। মনে রাখবেন যে অঙ্গভঙ্গি অক্ষম করা আপনি ক্যামেরার অবস্থান প্রোগ্রাম্যাটিকভাবে পরিবর্তন করতে পারেন কিনা তা প্রভাবিত করে না।
UI নিয়ন্ত্রণের মতো, আপনি UiSettings
ক্লাসের মাধ্যমে অঙ্গভঙ্গিগুলি সক্ষম/অক্ষম করতে পারেন যা GoogleMap.getUiSettings
কল করে GoogleMap
থেকে পাওয়া যেতে পারে। এই ক্লাসে করা পরিবর্তনগুলি অবিলম্বে মানচিত্রে প্রতিফলিত হয়। এই বৈশিষ্ট্যগুলির একটি উদাহরণ দেখতে, নমুনা অ্যাপ্লিকেশনে UI সেটিংস ডেমো কার্যকলাপ দেখুন (এটি কীভাবে ইনস্টল করবেন তা এখানে দেখুন)।
আপনি এই বিকল্পগুলি কনফিগার করতে পারেন যখন মানচিত্রটি XML বৈশিষ্ট্যগুলির মাধ্যমে বা GoogleMapOptions
ক্লাস ব্যবহার করে তৈরি করা হয়। আরও বিস্তারিত জানার জন্য মানচিত্র কনফিগার করা দেখুন।
জুম অঙ্গভঙ্গি
মানচিত্রটি বিভিন্ন অঙ্গভঙ্গিতে সাড়া দেয় যা ক্যামেরার জুম স্তর পরিবর্তন করতে পারে:
- জুম লেভেল 1 (জুম ইন) বাড়াতে ডবল ট্যাপ করুন।
- জুম লেভেল 1 (জুম আউট) কমাতে দুই আঙুলে ট্যাপ করুন।
- দুই আঙুল চিমটি/প্রসারিত
- একটি আঙুল ডবল ট্যাপ করে জুম করছে কিন্তু দ্বিতীয় ট্যাপে রিলিজ হচ্ছে না, এবং তারপর জুম আউট করতে বা জুম ইন করতে নিচের দিকে স্লাইড করুন।
আপনি UiSettings.setZoomGesturesEnabled(boolean)
কল করে জুম অঙ্গভঙ্গি নিষ্ক্রিয় করতে পারেন। এটি কোনও ব্যবহারকারী জুম ইন এবং আউট করার জন্য জুম নিয়ন্ত্রণগুলি ব্যবহার করতে পারে কিনা তা প্রভাবিত করবে না৷
স্ক্রোল (প্যান) অঙ্গভঙ্গি
একজন ব্যবহারকারী তাদের আঙুল দিয়ে মানচিত্রটি টেনে নিয়ে মানচিত্রের চারপাশে স্ক্রোল (প্যান) করতে পারেন। আপনি UiSettings.setScrollGesturesEnabled(boolean)
কল করে স্ক্রলিং অক্ষম করতে পারেন।
কাত অঙ্গভঙ্গি
একজন ব্যবহারকারী ম্যাপে দুটি আঙ্গুল রেখে এবং যথাক্রমে কাত কোণ বাড়াতে বা হ্রাস করতে তাদের নীচে বা উপরে সরিয়ে মানচিত্রটিকে কাত করতে পারেন। আপনি UiSettings.setTiltGesturesEnabled(boolean)
কল করে টিল্ট অঙ্গভঙ্গি অক্ষম করতে পারেন।
অঙ্গভঙ্গি ঘোরান
একজন ব্যবহারকারী মানচিত্রে দুটি আঙ্গুল রেখে এবং একটি ঘোরানোর গতি প্রয়োগ করে মানচিত্রটি ঘোরাতে পারে। আপনি UiSettings.setRotateGesturesEnabled(boolean)
কল করে ঘূর্ণন নিষ্ক্রিয় করতে পারেন।