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