iOS-এর জন্য Maps SDK ব্যবহার করে, আপনি নির্ধারণ করতে পারেন যে কোন বিল্ট-ইন UI উপাদানগুলো ম্যাপে প্রদর্শিত হবে এবং কোন অঙ্গভঙ্গিগুলো অনুমোদিত হবে, যার মাধ্যমে ব্যবহারকারীরা আপনার ম্যাপের সাথে কীভাবে মিথস্ক্রিয়া করবে তা কাস্টমাইজ করতে পারেন।
মানচিত্র নিয়ন্ত্রণ
iOS-এর জন্য Maps SDK-তে কিছু বিল্ট-ইন UI কন্ট্রোল রয়েছে, যা Google Maps for iOS অ্যাপ্লিকেশনে পাওয়া কন্ট্রোলগুলোর অনুরূপ। আপনি GMSUISettings ক্লাসটি ব্যবহার করে এই কন্ট্রোলগুলোর দৃশ্যমানতা পরিবর্তন করতে পারেন। এই ক্লাসে করা পরিবর্তনগুলো ম্যাপে তাৎক্ষণিকভাবে প্রতিফলিত হয়।
কম্পাস
iOS-এর জন্য Maps SDK একটি কম্পাস গ্রাফিক প্রদান করে, যা নির্দিষ্ট পরিস্থিতিতে ম্যাপের উপরের ডান কোণায় প্রদর্শিত হয়। কম্পাসটি কেবল তখনই দেখা যাবে যখন ক্যামেরাটি এমনভাবে ঘোরানো থাকবে যাতে এর বেয়ারিং শূন্য না হয়। যখন ব্যবহারকারী কম্পাসটিতে ক্লিক করেন, তখন ক্যামেরাটি অ্যানিমেট করে শূন্য বেয়ারিং-এর অবস্থানে (ডিফল্ট ওরিয়েন্টেশন) ফিরে আসে এবং এর কিছুক্ষণ পরেই কম্পাসটি মিলিয়ে যায়।
ডিফল্টরূপে কম্পাসটি নিষ্ক্রিয় থাকে। আপনি GMSUISettings এর compassButton প্রপার্টিটি YES এ সেট করে কম্পাসটি সক্রিয় করতে পারেন। তবে, আপনি কম্পাসটিকে সর্বদা প্রদর্শিত হতে বাধ্য করতে পারবেন না।
সুইফট
let camera = GMSCameraPosition(latitude: 37.757815, longitude: -122.50764, zoom: 12) let mapView = GMSMapView(frame: .zero, camera: camera) mapView.settings.compassButton = true
উদ্দেশ্য-সি
GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:37.757815 longitude:-122.50764 zoom:12]; GMSMapView *mapView = [GMSMapView mapWithFrame:CGRectZero camera:camera]; mapView.settings.compassButton = YES;
আমার অবস্থান বোতাম
'আমার অবস্থান' বাটনটি স্ক্রিনের নিচের ডান কোণায় তখনই দেখা যায়, যখন এটি সক্রিয় করা থাকে। যখন কোনো ব্যবহারকারী বাটনটিতে ক্লিক করেন, তখন ব্যবহারকারীর অবস্থান জানা থাকলে ক্যামেরাটি অ্যানিমেট করে তার বর্তমান অবস্থানে ফোকাস করে। আপনি GMSUISettings এর myLocationButton প্রপার্টিটি YES এ সেট করে বাটনটি সক্রিয় করতে পারেন।
সুইফট
mapView.settings.myLocationButton = true
উদ্দেশ্য-সি
mapView.settings.myLocationButton = YES;
ফ্লোর পিকার
যখনই কোনো ইনডোর ম্যাপ স্পষ্টভাবে প্রদর্শিত হয়, তখন স্ক্রিনের নিচের ডানদিকে ফ্লোর পিকার কন্ট্রোলটি দেখা যায়। যখন দুই বা ততোধিক ইনডোর ম্যাপ দেখা যায়, তখন ফ্লোর পিকারটি স্ক্রিনের কেন্দ্রের সবচেয়ে কাছের বিল্ডিংটির সাথে সম্পর্কিত থাকে। প্রতিটি বিল্ডিংয়ের একটি ডিফল্ট ফ্লোর থাকে, যা পিকারটি প্রথমবার প্রদর্শিত হওয়ার সময় নির্বাচিত থাকে। আপনি পিকার থেকে নির্বাচন করে একটি ভিন্ন ফ্লোর বেছে নিতে পারেন।
GMSUISettings এর indoorPicker প্রপার্টিকে NO তে সেট করে আপনি ফ্লোর পিকার কন্ট্রোলটি নিষ্ক্রিয় করতে পারেন।
সুইফট
mapView.settings.indoorPicker = false
উদ্দেশ্য-সি
mapView.settings.indoorPicker = NO;
মানচিত্রের অঙ্গভঙ্গি
আপনি GMSUISettings ক্লাসের প্রোপার্টিগুলো সেট করার মাধ্যমে ম্যাপের ডিফল্ট জেসচারগুলো নিষ্ক্রিয় করতে পারেন, যা GMSMapView এর একটি প্রোপার্টি হিসেবে উপলব্ধ। নিম্নলিখিত জেসচারগুলো প্রোগ্রাম্যাটিকভাবে সক্রিয় এবং নিষ্ক্রিয় করা যায়। মনে রাখবেন যে, জেসচার নিষ্ক্রিয় করলে ক্যামেরা সেটিংসে প্রোগ্রাম্যাটিক অ্যাক্সেস সীমিত হবে না।
-
scrollGestures— স্ক্রল জেসচার চালু বা বন্ধ থাকবে কিনা তা নিয়ন্ত্রণ করে। এটি চালু থাকলে, ব্যবহারকারীরা ক্যামেরা প্যান করার জন্য সোয়াইপ করতে পারবেন। -
zoomGestures— জুম জেসচার চালু বা বন্ধ থাকবে কিনা তা নিয়ন্ত্রণ করে। এটি চালু থাকলে, ব্যবহারকারীরা ক্যামেরা জুম করার জন্য ডাবল ট্যাপ, দুই আঙুলের ট্যাপ বা পিঞ্চ করতে পারবেন। উল্লেখ্য যে,scrollGesturesচালু থাকা অবস্থায় ডাবল ট্যাপ বা পিঞ্চ করলে ক্যামেরাটি নির্দিষ্ট পয়েন্টে প্যান হতে পারে। -
tiltGestures— টিল্ট জেসচার চালু বা বন্ধ থাকবে কিনা তা নিয়ন্ত্রণ করে। এটি চালু থাকলে, ব্যবহারকারীরা দুটি আঙুল দিয়ে উল্লম্বভাবে নিচে বা উপরে সোয়াইপ করে ক্যামেরা টিল্ট করতে পারবেন। -
rotateGestures— এটি ক্যামেরা ঘোরানোর অঙ্গভঙ্গি চালু বা বন্ধ থাকবে কিনা তা নিয়ন্ত্রণ করে। যদি এটি চালু থাকে, তবে ব্যবহারকারীরা দুই আঙুলের ঘোরানোর অঙ্গভঙ্গি ব্যবহার করে ক্যামেরা ঘোরাতে পারবেন।
নীচের উদাহরণটিতে প্যান এবং জুম উভয় জেসচারই নিষ্ক্রিয় করা হয়েছে।
সুইফট
override func loadView() { let camera = GMSCameraPosition.camera( withLatitude: 1.285, longitude: 103.848, zoom: 12 ) let mapView = GMSMapView.map(withFrame: .zero, camera: camera) mapView.settings.scrollGestures = false mapView.settings.zoomGestures = false self.view = mapView }
উদ্দেশ্য-সি
- (void)loadView { GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:1.285 longitude:103.848 zoom:12]; GMSMapView *mapView = [GMSMapView mapWithFrame:CGRectZero camera:camera]; mapView.settings.scrollGestures = NO; mapView.settings.zoomGestures = NO; self.view = mapView; }