API-তে ম্যাপকে GMSMapView ক্লাস হিসেবে দেখানো হয়, এটি হল UIView-এর
সাবক্লাস। iOS-এর জন্য Maps SDK-তে ম্যাপ হল সবচেয়ে গুরুত্বপূর্ণ অবজেক্ট এবং এটি মার্কার ও পলিলাইনের মতো অন্যান্য অবজেক্ট যোগ করা, সরানো
ও ম্যানেজ করার জন্য প্রয়োজনীয় পদ্ধতি প্রদান করে।
ভূমিকা
iOS-এর জন্য Maps SDK আপনাকে iOS অ্যাপ্লিকেশনে Google Maps দেখাতে দেয়। এই ম্যাপগুলি Google Maps iOS অ্যাপে আপনি যে ম্যাপগুলি দেখেন তার মতোই দেখতে এবং SDK-তে একই ধরনের অনেক ফিচার রয়েছে।
ম্যাপিং কার্যকারিতা ছাড়াও, API-তে iOS UI মডেলের সাথে সামঞ্জস্যপূর্ণ বিভিন্ন ধরনের ইন্টার্যাকশন কাজ করে। যেমন, আপনি ম্যাপের সাথে ইন্টার্যাকশন সেট-আপ করতে পারেন, যেখানে ব্যবহারকারীর জেসচার, যেমন ট্যাপ ও ডবল-ট্যাপের মতো অ্যাকশনের ভিত্তিতে রেসপন্ডার কাজ করে।
Map অবজেক্টের সাথে কাজ করার সময় মূল ক্লাস হল GMSMapView ক্লাস।
GMSMapView নিম্নলিখিত অপারেশনগুলি অটোমেটিক ম্যানেজ করে:
- Google Maps পরিষেবার সাথে কানেক্ট করা হচ্ছে।
- ম্যাপ টাইল ডাউনলোড করা হচ্ছে।
- ডিভাইসের স্ক্রিনে টাইল দেখানো হচ্ছে।
- প্যান ও জুমের মতো বিভিন্ন কন্ট্রোল দেখানো।
- ম্যাপ সরিয়ে এবং জুম-ইন বা জুম-আউট করে প্যান ও জুম জেসচারের উত্তর দেওয়া।
- ম্যাপের ভিউইং অ্যাঙ্গেল টিল্ট করে দুটি আঙুলের জেসচারে সাড়া দেওয়া।
এইসব অটোমেটিক অপারেশন ছাড়াও, আপনি GMSMapView ক্লাস দ্বারা প্রকাশিত প্রপার্টি ও পদ্ধতির মাধ্যমে ম্যাপের আচরণ ও
আউটলুক কন্ট্রোল করতে পারবেন।
GMSCameraPosition
ক্লাসের মাধ্যমে, দেখানো ম্যাপের ধরন পরিবর্তন করতে এবং ম্যাপে কী দেখানো হবে তা কন্ট্রোল করতে, মার্কার, গ্রাউন্ড
ওভারলে ও পলিলাইন যোগ করতে ও সরাতে GMSMapView ব্যবহার করুন।
SwiftUI-এর সাহায্যে Maps তৈরি করা
SwiftUI, ডিক্ল্যারেটিভ অ্যাপ্রোচ ব্যবহার করে UI তৈরি করার একটি অতিরিক্ত উপায় অফার করে। আপনি SwiftUI-কে বলেন যে আপনি কীভাবে আপনার ভিউ দেখতে চান এবং এর জন্য সমস্ত আলাদা আলাদা স্টেট কেমন হবে, বাকি কাজ সিস্টেম করে দেয়। SwiftUI, কোনও ইভেন্ট বা ব্যবহারকারীর অ্যাকশনের কারণে আসল স্টেট পরিবর্তিত হলে ভিউ আপডেট করার কাজটি ম্যানেজ করে।
iOS-এর জন্য Maps SDK UIKit-এর উপরে তৈরি করা হয়েছে এবং এটি SwiftUI-এর সাথে মানানসই
ভিউ প্রদান করে না। SwiftUI-তে ম্যাপ যোগ করতে হলে, UIViewRepresentable বা UIViewControllerRepresentable-এর মধ্যে
কোনও একটির সাথে মানানসই হতে হবে। আরও জানতে, SwiftUI-এর মাধ্যমে আপনার iOS অ্যাপে ম্যাপ যোগ করা
কোডল্যাব দেখুন।
ম্যাপ যোগ করুন
ম্যাপ যোগ করার প্রাথমিক ধাপগুলি হল:
SDK পেতে, API কী সংগ্রহ করতে এবং প্রয়োজনীয় ফ্রেমওয়ার্ক যোগ করতে, এই ধাপগুলি অনুসরণ করুন:
আপনার
AppDelegate-এ,GMSServices-এprovideAPIKey:ক্লাস পদ্ধতিতে আপনার API key প্রদান করুন।ViewControllerতৈরি বা আপডেট করুন। এই ভিউ কন্ট্রোলার দৃশ্যমান হওয়ার সময় ম্যাপ দেখানো হলে,viewDidLoadমেথডের মধ্যে এটি তৈরি করতে ভুলবেন না।আপনার ম্যাপ ভিউ শুরু করার সময়,
GMSMapViewOptions-এর সাথে কনফিগারেশন বিকল্প সেট করুন। প্রপার্টির মধ্যেframe,camera,mapID,backgroundColorবাscreenঅন্তর্ভুক্ত।GMSCameraPositionঅবজেক্টের সাহায্যে আপনার ম্যাপ বিকল্পcameraপ্রপার্টি সেট করুন। এটি ম্যাপের সেন্টার ও জুম লেভেল নির্দিষ্ট করে।GMSMapViewoptions:পদ্ধতি ব্যবহার করেGMSMapViewক্লাস তৈরি ও ইনস্ট্যান্টিয়েট করুন। এই ম্যাপটি যদি ভিউ কন্ট্রোলারের একমাত্র ভিউ হিসেবে ব্যবহার করা হয়, তাহলে ম্যাপ বিকল্পেরframeডিফল্ট ভ্যালুCGRectZeroভিউ হিসেবে ব্যবহার করা যাবেframe— ম্যাপের সাইজ অটোমেটিক পরিবর্তন করা হয়।GMSMapViewঅবজেক্টকে ভিউ কন্ট্রোলারের ভিউ হিসেবে সেট করুন। যেমন,self.view = mapView;।
নিচের উদাহরণে, সিঙ্গাপুরের ডাউনটাউনে কেন্দ্র করে একটি ম্যাপ অ্যাপে যোগ করা হয়েছে।
Swift
import GoogleMaps class MapObjects : UIViewController { override func viewDidLoad() { super.viewDidLoad() let options = GMSMapViewOptions() options.camera = GMSCameraPosition(latitude: 1.285, longitude: 103.848, zoom: 12) options.frame = self.view.bounds; let mapView = GMSMapView(options:options) self.view = mapView } }
Objective-C
- (void)viewDidLoad { [super viewDidLoad]; GMSMapViewOptions *options = [[GMSMapViewOptions alloc] init]; options.camera = [GMSCameraPosition cameraWithLatitude:1.285 longitude:103.848 zoom:12]; options.frame = self.view.bounds; GMSMapView *mapView = [[GMSMapView alloc] initWithOptions:options]; self.view = mapView; }
এইসব ধাপ অনুসরণ করার পরে, আপনি GMSMapView
অবজেক্ট আরও কনফিগার করতে পারেন।
এর পরে কী করতে হবে
এইসব ধাপ সম্পূর্ণ করার পরে, আপনি ম্যাপের সেটিংস কনফিগার করতে পারবেন।