মার্কার ইভেন্ট ও জেসচার

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

  • মার্কার ইভেন্ট ট্র্যাক করতে, আপনার view-এ GMSMapViewDelegate যোগ করুন।
  • মার্কারকে ড্র্যাগেবল করতে, GMSMarker.draggable প্রপার্টি সেট করুন।
  • মার্কারের জন্য বর্ণনামূলক টেক্সট সেট করতে, GMSMarker.title প্রপার্টি ব্যবহার করুন।

মার্কার ইভেন্টের উত্তর দিন

আপনার ভিউতে GMSMapViewDelegate প্রোটোকল যোগ করে এবং সংশ্লিষ্ট কলব্যাক প্রয়োগ করে আপনি মার্কার ইভেন্ট-এর উত্তর দিতে পারবেন। এই উদাহরণটি বেছে নেওয়া মার্কারের জন্য title এবং snippet শনাক্ত করে।

Swift

// MARK: GMSMapViewDelegate

func mapView(_ mapView: GMSMapView, didTap marker: GMSMarker) -> Bool {
  if let title = marker.title {
    if let snippet = marker.snippet {
      print("marker title: \(title): snippet: \(snippet)")
    }
  }
  return true
}

Objective-C

// MARK: GMSMapViewDelegate

-   (BOOL)mapView:(GMSMapView *)mapView didTapMarker:(GMSMarker *)marker {
  if (marker.title && marker.snippet) {
    NSLog(@"marker with title:%@ snippet: %@", marker.title,  marker.snippet)
  }
  return YES;
}

ম্যাপ জুম লেভেল অনুযায়ী মার্কারের দৃশ্যমানতা নিয়ন্ত্রণ করুন

GMSMarker-এর দৃশ্যমানতা নিয়ন্ত্রণ করতে, GMSMapViewDelegate প্রোটোকল প্রয়োগ করুন এবং GMSMarker.map সেট করার জন্য একটি শর্ত যোগ করুন।

Swift

// MARK: GMSMapViewDelegate

func mapView(_ mapView: GMSMapView, didChange position: GMSCameraPosition) {
    marker.map = position.zoom >= 14 ? mapView : nil
}

Objective-C

// MARK: GMSMapViewDelegate

-   (void)mapView:(GMSMapView *)mapView didChangeCameraPosition:(GMSCameraPosition *)position {
  marker.map = position.zoom >= 14 ? mapView : nil;
}

মার্কারকে ড্র্যাগ করার উপযুক্ত করা

আপনি draggable প্রপার্টি চালু করলে, ব্যবহারকারীরা ম্যাপে বেশিক্ষণ প্রেস করে রাখার জেসচারের মাধ্যমে মার্কার টেনে আনতে পারবেন। মার্কার ড্র্যাগেবল করতে, GMSMarker.draggable প্রপার্টি true হিসেবে সেট করুন।

Swift

marker.draggable = true

Objective-C

marker.draggable = YES;