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

ভূমিকা
গ্রাউন্ড ওভারলে হল এমন একটি ছবি যা ম্যাপে ফিক্স করা থাকে। মার্কারের মতো নয়, গ্রাউন্ড ওভারলে স্ক্রিনের পরিবর্তে পৃথিবীর পৃষ্ঠের সাপেক্ষে ওরিয়েন্ট করা হয়, তাই ম্যাপ ঘোরালে, টিল্ট করলে বা জুম করলে ছবির ওরিয়েন্টেশন পরিবর্তন হবে।
গ্রাউন্ড ওভারলে যোগ করতে, একটি
GMSGroundOverlay
অবজেক্ট তৈরি করুন যা আইকন এবং বাউন্ড, দুটিই নির্ধারণ করে। কোনও একটি নির্দিষ্ট করতে না পারলে
ম্যাপে গ্রাউন্ড ওভারলে দেখা যাবে না। আপনি চাইলে অতিরিক্ত সেটিংস উল্লেখ করতে পারেন
যা ম্যাপে ছবির পজিশনকে প্রভাবিত করবে।
প্রয়োজনীয় বিকল্পগুলি নির্ধারণ করার পরে, ওভারলে যোগ করতে এই অবজেক্টের map প্রপার্টি সেট করুন।
ওভারলে যোগ করা হচ্ছে
- নতুন
GMSGroundOverlayঅবজেক্ট ইনস্ট্যান্টিয়েট করুন iconপ্রপার্টিকেUIImage-এর ইনস্ট্যান্স হিসেবে সেট করুন।boundsপ্রপার্টিকেGMSCoordinateBounds-এর ইনস্ট্যান্স হিসেবে সেট করুন। ছবির দক্ষিণ-পশ্চিম এবং উত্তর-পূর্ব কোণকে বাউন্ডস হিসেবে দেখানো হয়।bearingএবংzoomLevel-এর মতো ঐচ্ছিক প্রপার্টি আপনার পছন্দ অনুযায়ী সেট করুন।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-এ পদ্ধতির তালিকা দেখুন।