গ্রাউন্ড ওভারলে

প্ল্যাটফর্ম বেছে নিন: Android iOS JavaScript

গ্রাউন্ড ওভারলে হল ম্যাপের উপরে থাকা ওভারলে যা অক্ষাংশ/দ্রাঘিমাংশ কোঅর্ডিনেটের সাথে যুক্ত থাকে, তাই আপনি ম্যাপ টেনে আনলে বা জুম করলে সেগুলি সরে যায়।

ভূমিকা

গ্রাউন্ড ওভারলে হল এমন একটি ছবি যা ম্যাপে ফিক্স করা থাকে। মার্কারের মতো নয়, গ্রাউন্ড ওভারলে স্ক্রিনের পরিবর্তে পৃথিবীর পৃষ্ঠের সাপেক্ষে ওরিয়েন্ট করা হয়, তাই ম্যাপ ঘোরালে, টিল্ট করলে বা জুম করলে ছবির ওরিয়েন্টেশন পরিবর্তন হবে।

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

ওভারলে যোগ করা হচ্ছে

  1. নতুন GMSGroundOverlay অবজেক্ট ইনস্ট্যান্টিয়েট করুন
  2. icon প্রপার্টিকে UIImage-এর ইনস্ট্যান্স হিসেবে সেট করুন।
  3. bounds প্রপার্টিকে GMSCoordinateBounds-এর ইনস্ট্যান্স হিসেবে সেট করুন। ছবির দক্ষিণ-পশ্চিম এবং উত্তর-পূর্ব কোণকে বাউন্ডস হিসেবে দেখানো হয়।
  4. bearing এবং zoomLevel-এর মতো ঐচ্ছিক প্রপার্টি আপনার পছন্দ অনুযায়ী সেট করুন।
  5. map প্রপার্টি সেট করুন - ম্যাপে ছবি দেখা যাবে।

নিচের উদাহরণে দেখানো হয়েছে যে আগে থেকে থাকা GMSMapView অবজেক্টে কীভাবে গ্রাউন্ড ওভারলে যোগ করতে হয়।

Swift

let southWest = CLLocationCoordinate2D(latitude: 40.712216, longitude: -74.22655)
let northEast = CLLocationCoordinate2D(latitude: 40.773941, longitude: -74.12544)
let overlayBounds = GMSCoordinateBounds(coordinate: southWest, coordinate: northEast)

// Image from http://www.lib.utexas.edu/maps/historical/newark_nj_1922.jpg
let icon = UIImage(named: "newark_nj_1922")

let overlay = GMSGroundOverlay(bounds: overlayBounds, icon: icon)
overlay.bearing = 0
overlay.map = mapView
      

Objective-C

CLLocationCoordinate2D southWest = CLLocationCoordinate2DMake(40.712216,-74.22655);
CLLocationCoordinate2D northEast = CLLocationCoordinate2DMake(40.773941,-74.12544);
GMSCoordinateBounds *overlayBounds = [[GMSCoordinateBounds alloc] initWithCoordinate:southWest
                                                                        coordinate:northEast];

// Image from http://www.lib.utexas.edu/maps/historical/newark_nj_1922.jpg
UIImage *icon = [UIImage imageNamed:@"newark_nj_1922"];
GMSGroundOverlay *overlay = [GMSGroundOverlay groundOverlayWithBounds:overlayBounds icon:icon];
overlay.bearing = 0;
overlay.map = mapView;
      

ওভারলে সরানো

আপনি ম্যাপ থেকে গ্রাউন্ড ওভারলে সরাতে পারবেন, এর জন্য আপনার GMSGroundOverlay-এর map প্রপার্টি nil-এ সেট করতে হবে। বিকল্প হিসেবে, আপনি GMSMapView clear পদ্ধতি কল করে সব ওভারলে (বর্তমানে ম্যাপে থাকা গ্রাউন্ড ওভারলে সহ) মুছে দিতে পারেন।

Swift

mapView.clear()
      

Objective-C

[mapView clear];
      

আপনি ম্যাপে গ্রাউন্ড ওভারলে যোগ করার পরে তাতে কোনও পরিবর্তন করতে চাইলে, GMSGroundOverlay অবজেক্টটি ধরে রাখতে ভুলবেন না। আপনি এই অবজেক্টে পরিবর্তন করে পরে গ্রাউন্ড ওভারলে পরিবর্তন করতে পারবেন।

Swift

let overlay = GMSGroundOverlay(bounds: overlayBounds, icon: icon)
overlay.bearing = 0
overlay.map = mapView

// ...

overlay.isTappable = true
      

Objective-C

GMSGroundOverlay *overlay = [GMSGroundOverlay groundOverlayWithBounds:overlayBounds icon:icon];
overlay.bearing = 0;
overlay.map = mapView;

// ...
overlay.tappable = YES;
      

ইভেন্ট

ম্যাপে ঘটা ইভেন্ট আপনি শুনতে পারবেন, যেমন কোনও ব্যবহারকারী ওভারলেতে ট্যাপ করলে। ইভেন্ট শুনতে, আপনাকে অবশ্যই GMSMapViewDelegate প্রোটোকল প্রয়োগ করতে হবে। ইভেন্ট সংক্রান্ত নির্দেশিকা এবং GMSMapViewDelegate-এ পদ্ধতির তালিকা দেখুন।