ম্যাপ যোগ করা

প্ল্যাটফর্ম বেছে নিন: Android iOS JavaScript

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 অ্যাপে ম্যাপ যোগ করা দেখুন।

ম্যাপ যোগ করুন

ম্যাপ যোগ করার প্রাথমিক ধাপগুলি হল:

  1. SDK পেতে, API কী পান এবং প্রয়োজনীয় ফ্রেমওয়ার্ক যোগ করুন, এই ধাপগুলি অনুসরণ করুন:

    1. Google Cloud কনসোলে সেট-আপ করুন

    2. API key ব্যবহার করুন

    3. Xcode প্রোজেক্ট সেট-আপ করা

    4. আপনার AppDelegate-এ, GMSServices-এর provideAPIKey: ক্লাস পদ্ধতিতে আপনার API key প্রদান করুন।

    5. ViewController তৈরি বা আপডেট করুন। এই ভিউ কন্ট্রোলার দৃশ্যমান হওয়ার সময় ম্যাপ দেখানো হলে, viewDidLoad মেথডের মধ্যে এটি তৈরি করতে ভুলবেন না।

    6. আপনার ম্যাপ ভিউ শুরু করার সময়, GMSMapViewOptions-এর সাথে কনফিগারেশন বিকল্প সেট করুন। প্রপার্টির মধ্যে frame, camera, mapID,backgroundColor বা screen অন্তর্ভুক্ত।

    7. GMSCameraPosition অবজেক্টের সাথে আপনার ম্যাপের বিকল্প camera প্রপার্টি সেট করুন। এটি ম্যাপের কেন্দ্র ও জুম লেভেল নির্দিষ্ট করে।

    8. GMSMapView options: পদ্ধতি ব্যবহার করে GMSMapView ক্লাস তৈরি ও ইনস্ট্যান্টিয়েট করুন। এই ম্যাপটি যদি ভিউ কন্ট্রোলারের একমাত্র ভিউ হিসেবে ব্যবহার করা হয়, তাহলে ম্যাপ বিকল্প frame-এর ডিফল্ট ভ্যালু CGRectZero ভিউ frame হিসেবে ব্যবহার করা যেতে পারে — ম্যাপটি অটোমেটিক রিসাইজ করা হয়।

    9. 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 অবজেক্ট আরও কনফিগার করতে পারবেন।

এর পরে কী করতে হবে

এইসব ধাপ সম্পূর্ণ করার পরে, আপনি ম্যাপ সেটিংস কনফিগার করতে পারবেন।