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

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

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

ভূমিকা

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

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

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

  1. একটি নতুন GMSGroundOverlay অবজেক্ট ইনস্ট্যান্টিয়েট করুন
  2. UIImage এর একটি উদাহরণে icon বৈশিষ্ট্য সেট করুন।
  3. GMSCoordinateBounds এর একটি উদাহরণে bounds সম্পত্তি সেট করুন। সীমানাগুলি চিত্রের দক্ষিণ পশ্চিম এবং উত্তর পূর্ব কোণগুলিকে প্রতিনিধিত্ব করে৷
  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
      

উদ্দেশ্য-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 পদ্ধতিতে কল করে সমস্ত ওভারলে (বর্তমানে মানচিত্রে থাকা গ্রাউন্ড ওভারলে সহ) সরাতে পারেন।

সুইফট

mapView.clear()
      

উদ্দেশ্য-C

[mapView clear];
      

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

সুইফট

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

// ...

overlay.isTappable = true
      

উদ্দেশ্য-C

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

// ...
overlay.tappable = YES;
      

ঘটনা

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

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

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

ভূমিকা

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

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

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

  1. একটি নতুন GMSGroundOverlay অবজেক্ট ইনস্ট্যান্টিয়েট করুন
  2. UIImage এর একটি উদাহরণে icon বৈশিষ্ট্য সেট করুন।
  3. GMSCoordinateBounds এর একটি উদাহরণে bounds সম্পত্তি সেট করুন। সীমানাগুলি চিত্রের দক্ষিণ পশ্চিম এবং উত্তর পূর্ব কোণগুলিকে প্রতিনিধিত্ব করে৷
  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
      

উদ্দেশ্য-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 পদ্ধতিতে কল করে সমস্ত ওভারলে (বর্তমানে মানচিত্রে থাকা গ্রাউন্ড ওভারলে সহ) সরাতে পারেন।

সুইফট

mapView.clear()
      

উদ্দেশ্য-C

[mapView clear];
      

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

সুইফট

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

// ...

overlay.isTappable = true
      

উদ্দেশ্য-C

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

// ...
overlay.tappable = YES;
      

ঘটনা

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