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

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

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

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

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

মানচিত্রের অঙ্গভঙ্গি

আপনি GMSMapView এর একটি বৈশিষ্ট্য হিসেবে উপলব্ধ GMSUISettings ক্লাসের বৈশিষ্ট্য সেট করে মানচিত্রে ডিফল্ট অঙ্গভঙ্গিগুলি অক্ষম করতে পারেন। নিম্নলিখিত অঙ্গভঙ্গিগুলি প্রোগ্রাম্যাটিকভাবে সক্ষম এবং অক্ষম করা যেতে পারে। মনে রাখবেন যে অঙ্গভঙ্গিটি অক্ষম করলে ক্যামেরা সেটিংসে প্রোগ্রাম্যাটিক অ্যাক্সেস সীমিত হবে না।

  • 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;
}