নিয়ন্ত্রণ এবং অঙ্গভঙ্গি

প্ল্যাটফর্ম নির্বাচন করুন: অ্যান্ড্রয়েড আইওএস জাভাস্ক্রিপ্ট

iOS-এর জন্য Maps SDK ব্যবহার করে, ব্যবহারকারীরা আপনার মানচিত্রের সাথে যেভাবে ইন্টারঅ্যাক্ট করবে তা আপনি কাস্টমাইজ করতে পারেন, ম্যাপে অন্তর্নির্মিত UI উপাদানগুলির মধ্যে কোনটি প্রদর্শিত হবে এবং কোন অঙ্গভঙ্গি অনুমোদিত হবে তা নির্ধারণ করে৷

মানচিত্র নিয়ন্ত্রণ

iOS এর জন্য মানচিত্র SDK কিছু অন্তর্নির্মিত UI নিয়ন্ত্রণ প্রদান করে যা iOS অ্যাপ্লিকেশনের জন্য Google মানচিত্রের মতই। আপনি 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;
}