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

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

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

ভূমিকা

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

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

একটি ওভারলে যোগ করা

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

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

সুইফট

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
      

উদ্দেশ্য-সি

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 মেথডটি কল করে ম্যাপে বর্তমানে থাকা গ্রাউন্ড ওভারলে সহ সমস্ত ওভারলে মুছে ফেলতে পারেন।

সুইফট

mapView.clear()
      

উদ্দেশ্য-সি

[mapView clear];
      

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

সুইফট

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

// ...

overlay.isTappable = true
      

উদ্দেশ্য-সি

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

// ...
overlay.tappable = YES;
      

ইভেন্টগুলি

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