কন্ট্রোল ও জেসচার

প্ল্যাটফর্ম বেছে নিন: Android iOS JavaScript

Maps SDK for Android ব্যবহার করে, আপনি ব্যবহারকারীদের আপনার ম্যাপের সাথে ইন্টার‍্যাক্ট করার পদ্ধতি কাস্টমাইজ করতে পারেন। এটি করার জন্য, ম্যাপে কোন বিল্ট-ইন UI কম্পোনেন্ট দেখানো হবে এবং কোন জেসচার অনুমোদিত হবে তা নির্ধারণ করতে হবে।

কোডের নমুনা

GitHub-এ ApiDemos রিপোজিটরি-তে কন্ট্রোল ও জেসচার বিকল্পের ব্যবহার দেখানোর জন্য একটি স্যাম্পেল অন্তর্ভুক্ত আছে:

ব্যবহারকারীর ন্যূনতম ইন্টার‍্যাকশনের জন্য লাইট মোড

আপনি যদি ন্যূনতম ব্যবহারকারীর ইন্টারঅ্যাকশন সহ একটি লাইট-ওয়েট ম্যাপ চান, তাহলে একটি লাইট-মোড ম্যাপ ব্যবহার করার কথা বিবেচনা করুন। লাইট মোড নির্দিষ্ট লোকেশন ও জুম লেভেলে ম্যাপের বিটম্যাপ ছবি অফার করে। লাইট মোডে, ব্যবহারকারীরা ম্যাপ প্যান বা জুম করতে পারবেন না এবং জেসচার কাজ করবে না। বিস্তারিত জানতে, লাইট মোড সংক্রান্ত নির্দেশিকা দেখুন।

UI কন্ট্রোল

Maps API-তে বিল্ট-ইন UI কন্ট্রোল আছে যা আপনার Android ফোনে Google Maps অ্যাপ্লিকেশনে পাওয়া কন্ট্রোলের মতোই। আপনি UiSettings ক্লাস ব্যবহার করে এইসব কন্ট্রোলের দৃশ্যমানতা টগল করতে পারবেন যা GoogleMap.getUiSettings পদ্ধতি সহ GoogleMap থেকে পাওয়া যেতে পারে। এই ক্লাসে করা পরিবর্তন ম্যাপে অবিলম্বে দেখা যায়। এইসব ফিচারের উদাহরণ দেখতে, স্যাম্পেল অ্যাপ্লিকেশনে UI সেটিংস ডেমো অ্যাক্টিভিটি দেখুন।

এছাড়াও, XML অ্যাট্রিবিউট বা GoogleMapOptions ক্লাস ব্যবহার করে ম্যাপ তৈরি করার সময় আপনি এইসব বিকল্পের বেশিরভাগই কনফিগার করতে পারবেন। আরও জানতে প্রাথমিক অবস্থা কনফিগার করা দেখুন।

প্রতিটি UI কন্ট্রোলের ম্যাপের প্রান্তের সাপেক্ষে একটি পূর্ব-নির্ধারিত অবস্থান থাকে। আপনি GoogleMap অবজেক্টে প্যাডিং যোগ করে কন্ট্রোলগুলি উপরে, নিচে, বাঁদিকে বা ডানদিকে সরাতে পারেন।

জুম কন্ট্রোল

Maps API-তে বিল্ট-ইন জুম কন্ট্রোল থাকে যা ম্যাপের নিচের ডানদিকের কোণে দেখা যায়। এগুলি ডিফল্ট হিসেবে বন্ধ থাকে, তবে UiSettings.setZoomControlsEnabled(true) কল করে চালু করা যেতে পারে।

জুম কন্ট্রোল

কম্পাস

Maps API একটি কম্পাস গ্রাফিক প্রদান করে যা নির্দিষ্ট পরিস্থিতিতে ম্যাপের উপরের বাঁদিকের কোণে দেখা যায়। ক্যামেরা এমনভাবে ওরিয়েন্ট করা থাকলে তবেই কম্পাস দেখা যাবে যাতে এটির নন-জিরো বিয়ারিং বা নন-জিরো টিল্ট থাকে। ব্যবহারকারী কম্পাসে ক্লিক করলে, ক্যামেরা অ্যানিমেট করে বিয়ারিং ও টিল্ট শূন্য (ডিফল্ট ওরিয়েন্টেশন) পজিশনে ফিরে যায় এবং কম্পাসটি কিছুক্ষণ পরে অদৃশ্য হয়ে যায়। UiSettings.setCompassEnabled(boolean)-এ কল করে আপনি কম্পাস দেখানোর বিকল্প সম্পূর্ণ বন্ধ করে দিতে পারেন। তবে, আপনি কম্পাসকে সবসময় দেখানোর জন্য বাধ্য করতে পারবেন না।

কম্পাস

'আমার লোকেশন' বোতাম

'আমার লোকেশন' লেয়ার চালু করা থাকলে, স্ক্রিনের উপরে ডানদিকের কোণে 'আমার লোকেশন' বোতামটি শুধুমাত্র দেখা যায়। বিস্তারিত জানতে, লোকেশন ডেটা সংক্রান্ত নির্দেশিকা দেখুন।

'আমার লোকেশন' বোতাম

লেভেল পিকার

ডিফল্ট হিসেবে, ব্যবহারকারী ইনডোর ম্যাপ দেখার সময় স্ক্রিনের ডানদিকের প্রান্তের কেন্দ্রের কাছাকাছি লেভেল পিকার (ফ্লোর পিকার) দেখা যায়। দুটি বা তার বেশি ইনডোর ম্যাপ দেখা গেলে, বর্তমানে ফোকাসে থাকা বিল্ডিংয়ের ক্ষেত্রে লেভেল পিকার প্রযোজ্য হবে, যা সাধারণত স্ক্রিনের কেন্দ্রের সবচেয়ে কাছাকাছি থাকে। প্রতিটি বিল্ডিংয়ের একটি ডিফল্ট লেভেল থাকে যা পিকার প্রথমবার দেখানোর সময় বেছে নেওয়া হবে। ব্যবহারকারীরা পিকার থেকে বেছে নিয়ে অন্য লেভেল বেছে নিতে পারেন।

GoogleMap.getUiSettings().setIndoorLevelPickerEnabled(boolean) কল করে আপনি লেভেল পিকার কন্ট্রোল চালু বা বন্ধ করতে পারবেন।

আপনি যদি ডিফল্ট লেভেল পিকারের পরিবর্তে নিজের লেভেল পিকার ব্যবহার করতে চান, তাহলে এটি কাজে লাগবে।

লেভেল পিকার

ম্যাপ টুলবার

ডিফল্ট হিসেবে, ব্যবহারকারী কোনও মার্কার ট্যাপ করলে ম্যাপের নিচে ডানদিকে একটি টুলবার দেখা যায়। টুলবার ব্যবহারকারীকে Google Maps মোবাইল অ্যাপে দ্রুত অ্যাক্সেস দেয়।

আপনি UiSettings.setMapToolbarEnabled(boolean) কল করে টুলবার চালু ও বন্ধ করতে পারবেন।

লাইট-মোড ম্যাপে, ব্যবহারকারীর অ্যাকশন নির্বিশেষে টুলবার অপরিবর্তিত থাকে। সম্পূর্ণ ইন্টার‍্যাক্টিভ ম্যাপে, ব্যবহারকারী কোনও মার্কার ট্যাপ করলে টুলবার স্লাইড করে আসে এবং মার্কার আর ফোকাসে না থাকলে আবার স্লাইড করে চলে যায়।

টুলবারে এমন আইকন দেখানো হয় যা Google Maps মোবাইল অ্যাপে ম্যাপ ভিউ বা দিকনির্দেশের অনুরোধে অ্যাক্সেস প্রদান করে। ব্যবহারকারী টুলবারের কোনও আইকনে ট্যাপ করলে, API, Google Maps মোবাইল অ্যাপে সংশ্লিষ্ট অ্যাক্টিভিটি চালু করার জন্য একটি ইনটেন্ট তৈরি করে।

ম্যাপ টুলবার

উপরের স্ক্রিনশটে ম্যাপের নিচে ডানদিকে টুলবার দেখা যাচ্ছে। ম্যাপে কোনও ইনটেন্ট আইকন দেখা যাবে না, একটি বা দুটিই দেখা যাবে, তা নির্ভর করে ম্যাপের কন্টেন্টের উপর এবং Google Maps মোবাইল অ্যাপে সেই ইনটেন্ট কাজ করে কিনা তার উপর।

ম্যাপ জেসচার

Maps SDK for Android-এর মাধ্যমে তৈরি করা ম্যাপে Google Maps অ্যাপ্লিকেশনের মতোই একই জেসচার কাজ করে। তবে, এমন পরিস্থিতি হতে পারে যেখানে আপনি ম্যাপের অবস্থা সংরক্ষণ করার জন্য নির্দিষ্ট কিছু জেসচার বন্ধ করতে চান। জুম, প্যান, টিল্ট এবং বিয়ারিং প্রোগ্রাম্যাটিক্যালি সেট করা যেতে পারে - আরও বিবরণের জন্য ক্যামেরা এবং ভিউ দেখুন। মনে রাখবেন, জেসচার বন্ধ করে দিলে প্রোগ্রাম্যাটিক্যালি ক্যামেরার পজিশন পরিবর্তন করার উপর কোনও প্রভাব পড়ে না।

UI কন্ট্রোলের মতো, আপনি UiSettings ক্লাসের মাধ্যমে জেসচার চালু/বন্ধ করতে পারবেন যা GoogleMap.getUiSettings কল করে GoogleMap থেকে পাওয়া যেতে পারে। এই ক্লাসে করা পরিবর্তনগুলি ম্যাপে অবিলম্বে প্রতিফলিত হয়। এইসব ফিচারের উদাহরণ দেখতে, স্যাম্পেল অ্যাপ্লিকেশনে UI সেটিংস ডেমো অ্যাক্টিভিটি দেখুন (এটি কীভাবে ইনস্টল করবেন তা জানতে এখানে দেখুন)।

এছাড়াও, XML অ্যাট্রিবিউট বা GoogleMapOptions ক্লাস ব্যবহার করে ম্যাপ তৈরি করার সময় আপনি এইসব বিকল্প কনফিগার করতে পারবেন। আরও বিবরণের জন্য ম্যাপ কনফিগার করা দেখুন।

জুম জেসচার

ম্যাপ বিভিন্ন ধরনের জেসচারে সাড়া দেয় যা ক্যামেরার জুম লেভেল পরিবর্তন করতে পারে:

  • জুম লেভেল ১ (জুম ইন) বাড়াতে ডবল ট্যাপ করুন।
  • জুম লেভেল ১ পয়েন্ট কমাতে (জুম আউট) দুটি আঙুল দিয়ে ট্যাপ করুন।
  • দুটি আঙুল দিয়ে পিঞ্চ/স্ট্রেচ করুন
  • ডবল ট্যাপ করে একটি আঙুল দিয়ে জুম করা, তবে দ্বিতীয় ট্যাপে আঙুল না সরিয়ে, আঙুল উপরের দিকে স্লাইড করে জুম আউট করা অথবা নিচের দিকে স্লাইড করে জুম ইন করা।

UiSettings.setZoomGesturesEnabled(boolean)-এ কল করে আপনি জুম জেসচার বন্ধ করতে পারবেন। এর ফলে, কোনও ব্যবহারকারী জুম ইন ও আউট করার জন্য জুম কন্ট্রোল ব্যবহার করতে পারবেন কিনা তা প্রভাবিত হবে না।

স্ক্রল (প্যান) জেসচার

ব্যবহারকারী আঙুল দিয়ে ম্যাপ টেনে ম্যাপের চারপাশে স্ক্রল (প্যান) করতে পারেন। আপনি UiSettings.setScrollGesturesEnabled(boolean) কল করে স্ক্রল করার সুবিধা বন্ধ করতে পারবেন।

টিল্ট জেসচার

ব্যবহারকারী ম্যাপের উপর দুটি আঙুল রেখে এবং সেগুলি একসাথে নিচে বা উপরে সরানোর মাধ্যমে ম্যাপটি টিল্ট করতে পারেন যাতে যথাক্রমে টিল্ট অ্যাঙ্গেল বাড়ানো বা কমানো যায়। আপনি UiSettings.setTiltGesturesEnabled(boolean) কল করে টিল্ট জেসচার বন্ধ করতে পারবেন।

ঘোরানোর জেসচার

ব্যবহারকারী ম্যাপের উপর দুটি আঙুল রেখে এবং রোটেট মোশন প্রয়োগ করে ম্যাপটি ঘোরাতে পারেন। UiSettings.setRotateGesturesEnabled(boolean)-এ কল করে আপনি রোটেশন বন্ধ করতে পারবেন।