API-তে ম্যাপ GMSMapView ক্লাস হিসেবে দেখানো হয়, যা
UIView-এর সাবক্লাস। iOS-এর জন্য Maps SDK-তে ম্যাপ হল সবচেয়ে গুরুত্বপূর্ণ অবজেক্ট এবং এটি মার্কার ও পলিলাইনের মতো অন্যান্য অবজেক্ট যোগ, সরানো ও ম্যানেজ করার জন্য প্রয়োজনীয় পদ্ধতি প্রদান করে।
ভূমিকা
iOS-এর জন্য Maps SDK আপনাকে iOS অ্যাপ্লিকেশনে Google Map দেখাতে দেয়। এই ম্যাপগুলি Google Maps iOS অ্যাপে আপনি যে ম্যাপগুলি দেখেন তার মতোই দেখতে এবং SDK একই ধরনের অনেক ফিচার দেখায়।
ম্যাপিং কার্যকারিতা ছাড়াও, API iOS UI মডেলের সাথে সামঞ্জস্যপূর্ণ বিভিন্ন ধরনের ইন্টার্যাকশনও সাপোর্ট করে। যেমন, আপনি ম্যাপের সাথে ইন্টার্যাকশন সেট-আপ করতে পারেন। এর জন্য আপনাকে রেসপন্ডার নির্ধারণ করতে হবে যা ব্যবহারকারীর জেসচারে প্রতিক্রিয়া জানায়, যেমন ট্যাপ ও ডবল-ট্যাপ।
Map অবজেক্ট নিয়ে কাজ করার সময় মূল ক্লাস হল GMSMapView ক্লাস।
GMSMapView নিম্নলিখিত অপারেশন অটোমেটিক ম্যানেজ করে:
- Google Maps পরিষেবার সাথে কানেক্ট করা হচ্ছে।
- ম্যাপ টাইল ডাউনলোড করা হচ্ছে।
- ডিভাইসের স্ক্রিনে টাইল দেখানো হচ্ছে।
- প্যান ও জুমের মতো বিভিন্ন কন্ট্রোল দেখানো।
- ম্যাপ সরিয়ে এবং জুম-ইন বা জুম-আউট করে প্যান ও জুম জেসচারের উত্তর দেওয়া।
- ম্যাপের ভিউয়িং অ্যাঙ্গেল টিল্ট করে দুই আঙুলের জেসচারে সাড়া দেওয়া।
এইসব অটোমেটিক অপারেশন ছাড়াও, আপনি GMSMapView ক্লাস দ্বারা প্রকাশিত প্রপার্টি ও পদ্ধতির মাধ্যমে ম্যাপের আচরণ ও
চেহারা নিয়ন্ত্রণ করতে পারবেন। GMSMapView ব্যবহার করে মার্কার, গ্রাউন্ড ওভারলে ও পলিলাইন যোগ করুন ও সরান, যে ধরনের ম্যাপ দেখানো হচ্ছে তা পরিবর্তন করুন এবং GMSCameraPosition ক্লাসের মাধ্যমে ম্যাপে কী দেখানো হচ্ছে তা নিয়ন্ত্রণ করুন।
SwiftUI-এর সাহায্যে Maps তৈরি করা
SwiftUI, ডিক্লারেটিভ অ্যাপ্রোচ ব্যবহার করে UI তৈরি করার একটি অতিরিক্ত উপায় অফার করে। আপনি SwiftUI-কে জানান যে আপনি কীভাবে আপনার ভিউ দেখতে চান এবং এর জন্য সমস্ত বিভিন্ন স্টেট সহ, এবং সিস্টেম বাকি কাজ করে। কোনও ইভেন্ট বা ব্যবহারকারীর অ্যাকশনের কারণে অন্তর্নিহিত অবস্থা পরিবর্তিত হলে SwiftUI ভিউ আপডেট করার বিষয়টি ম্যানেজ করে।
iOS-এর জন্য Maps SDK UIKit-এর উপরে তৈরি করা হয়েছে এবং এটি
SwiftUI-এর সাথে মানানসই ভিউ প্রদান করে না। SwiftUI-তে ম্যাপ যোগ করতে হলে, UIViewRepresentable বা UIViewControllerRepresentable-এর মধ্যে
কোনও একটির সাথে মানানসই হতে হবে। আরও জানতে, Codelab 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
অবজেক্ট আরও কনফিগার করতে পারবেন।
এর পরে কী করতে হবে
এইসব ধাপ সম্পূর্ণ করার পরে, আপনি ম্যাপ সেটিংস কনফিগার করতে পারবেন।