মার্কার সহ একটি মানচিত্র যোগ করুন

এই টিউটোরিয়ালে দেখানো হয়েছে কীভাবে আপনার iOS অ্যাপে মার্কারসহ একটি গুগল ম্যাপ যুক্ত করবেন। এটি সেইসব ব্যক্তিদের জন্য উপযোগী যাদের Swift বা Objective-C বিষয়ে প্রাথমিক বা মধ্যম স্তরের জ্ঞান এবং Xcode সম্পর্কে সাধারণ ধারণা রয়েছে। ম্যাপ তৈরির উন্নত নির্দেশিকার জন্য ডেভেলপারদের নির্দেশিকাটি পড়ুন।

এই টিউটোরিয়ালটি ব্যবহার করে আপনি নিচের মানচিত্রটি তৈরি করবেন। মার্কারটি অস্ট্রেলিয়ার সিডনিতে অবস্থিত।

একটি স্ক্রিনশট যেখানে সিডনির উপর একটি মার্কারসহ মানচিত্র দেখানো হচ্ছে।

কোডটি নিন

গিটহাব থেকে গুগল ম্যাপস আইওএস স্যাম্পল রিপোজিটরিটি ক্লোন বা ডাউনলোড করুন।

বিকল্পভাবে, সোর্স কোড ডাউনলোড করতে নিচের বাটনটিতে ক্লিক করুন:

আমাকে কোডটি দিন

সুইফট

import UIKit
import GoogleMaps

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.
        // Create a GMSCameraPosition that tells the map to display the
        // coordinate -33.86,151.20 at zoom level 6.
        let camera = GMSCameraPosition.camera(withLatitude: -33.86, longitude: 151.20, zoom: 6.0)
        let mapView = GMSMapView.map(withFrame: self.view.frame, camera: camera)
        self.view.addSubview(mapView)

        // Creates a marker in the center of the map.
        let marker = GMSMarker()
        marker.position = CLLocationCoordinate2D(latitude: -33.86, longitude: 151.20)
        marker.title = "Sydney"
        marker.snippet = "Australia"
        marker.map = mapView
  }
}
      

উদ্দেশ্য-সি

#import "ViewController.h"
#import <GoogleMaps/GoogleMaps.h>

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
  // Do any additional setup after loading the view.
  // Create a GMSCameraPosition that tells the map to display the
  // coordinate -33.86,151.20 at zoom level 6.
  GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:-33.86
                                                          longitude:151.20
                                                               zoom:6];
  GMSMapView *mapView = [GMSMapView mapWithFrame:self.view.frame camera:camera];
  mapView.myLocationEnabled = YES;
  [self.view addSubview:mapView];

  // Creates a marker in the center of the map.
  GMSMarker *marker = [[GMSMarker alloc] init];
  marker.position = CLLocationCoordinate2DMake(-33.86, 151.20);
  marker.title = @"Sydney";
  marker.snippet = @"Australia";
  marker.map = mapView;
}

@end
      

শুরু করুন

সুইফট প্যাকেজ ম্যানেজার

সুইফট প্যাকেজ ম্যানেজার ব্যবহার করে iOS-এর জন্য ম্যাপস এসডিকে ইনস্টল করা যায়।

  1. iOS-এর জন্য বিদ্যমান Maps SDK নির্ভরতাগুলো মুছে ফেলুন।
  2. একটি টার্মিনাল উইন্ডো খুলুন এবং tutorials/map-with-marker ডিরেক্টরিতে যান।
  3. আপনার Xcode ওয়ার্কস্পেসটি বন্ধ করুন এবং নিম্নলিখিত কমান্ডগুলি চালান:
    sudo gem install cocoapods-deintegrate cocoapods-clean
    pod deintegrate
    pod cache clean --all
    rm Podfile
    rm map-with-marker.xcworkspace
  4. আপনার Xcode প্রজেক্টটি খুলুন এবং podfile-টি মুছে ফেলুন।
  5. ফাইল > প্যাকেজ নির্ভরতা যোগ করুন -এ যান।
  6. URL হিসেবে https://github.com/googlemaps/ios-maps-sdk লিখুন, প্যাকেজটি যুক্ত করতে এন্টার চাপুন এবং 'Add Package'-এ ক্লিক করুন।
  7. ফাইল > প্যাকেজ > প্যাকেজ ক্যাশে রিসেট করুন ব্যবহার করে আপনাকে আপনার প্যাকেজ ক্যাশে রিসেট করতে হতে পারে।

কোকোপড ব্যবহার করুন

  1. Xcode সংস্করণ 26.0 বা তার পরবর্তী সংস্করণ ডাউনলোড ও ইনস্টল করুন।
  2. আপনার কাছে যদি আগে থেকে CocoaPods না থাকে, তাহলে টার্মিনাল থেকে নিম্নলিখিত কমান্ডটি চালিয়ে macOS-এ এটি ইনস্টল করুন:
    sudo gem install cocoapods
  3. tutorials/map-with-marker ডিরেক্টরিতে যান।
  4. pod install কমান্ডটি চালান। এটি Podfile এ উল্লেখিত Maps SDK- টি, এর সাথে প্রয়োজনীয় সমস্ত ডিপেন্ডেন্সি সহ, ইনস্টল করবে।
  5. ইনস্টল করা পড ভার্সনের সাথে নতুন কোনো আপডেট তুলনা করতে pod outdated চালান। যদি কোনো নতুন ভার্সন পাওয়া যায়, তাহলে Podfile আপডেট করতে এবং সর্বশেষ SDK ইনস্টল করতে pod update চালান। আরও বিস্তারিত জানতে, CocoaPods Guide দেখুন।
  6. প্রজেক্টটি Xcode-এ খোলার জন্য এর map-with-marker.xcworkspace ফাইলটিতে ডাবল-ক্লিক করুন। প্রজেক্টটি খোলার জন্য আপনাকে অবশ্যই .xcworkspace ফাইলটি ব্যবহার করতে হবে।

একটি এপিআই কী নিন এবং প্রয়োজনীয় এপিআইগুলো সক্রিয় করুন।

এই টিউটোরিয়ালটি সম্পন্ন করতে আপনার একটি Google API কী প্রয়োজন, যা iOS-এর জন্য Maps SDK ব্যবহার করার জন্য অনুমোদিত। একটি কী পেতে এবং API সক্রিয় করতে নিচের বোতামটিতে ক্লিক করুন।

শুরু করুন

আরও বিস্তারিত জানতে, “Get an API key” দেখুন।

আপনার অ্যাপ্লিকেশনে এপিআই কী যোগ করুন

আপনার AppDelegate.swift ফাইলে নিম্নলিখিতভাবে আপনার API কী যোগ করুন:

  1. লক্ষ্য করুন যে ফাইলটিতে নিম্নলিখিত ইম্পোর্ট স্টেটমেন্টটি যোগ করা হয়েছে:
    import GoogleMaps
  2. আপনার application(_:didFinishLaunchingWithOptions:) মেথডের নিম্নলিখিত লাইনটি সম্পাদনা করুন, এবং YOUR_API_KEY- এর জায়গায় আপনার API কী বসান:
    GMSServices.provideAPIKey("YOUR_API_KEY")

আপনার অ্যাপ তৈরি করুন এবং চালান

  1. আপনার কম্পিউটারের সাথে একটি iOS ডিভাইস সংযুক্ত করুন, অথবা Xcode স্কিম মেনু থেকে একটি সিমুলেটর নির্বাচন করুন।
  2. আপনি যদি কোনো ডিভাইস ব্যবহার করেন, তাহলে লোকেশন সার্ভিস চালু আছে কিনা তা নিশ্চিত করুন। আর যদি সিমুলেটর ব্যবহার করেন, তাহলে ফিচারস মেনু থেকে একটি লোকেশন বেছে নিন।
  3. Xcode-এ, Product/Run মেনু অপশনটিতে (অথবা প্লে বাটন আইকনে) ক্লিক করুন।
    • Xcode অ্যাপটি বিল্ড করে এবং তারপর ডিভাইস বা সিমুলেটরে অ্যাপটি রান করে।
    • আপনার অস্ট্রেলিয়ার পূর্ব উপকূলে অবস্থিত সিডনিকে কেন্দ্র করে একটি চিহ্নিত স্থানসহ একটি মানচিত্র দেখা উচিত, যা এই পৃষ্ঠার ছবিটির মতো।

সমস্যা সমাধান:

  • যদি আপনি কোনো ম্যাপ দেখতে না পান, তাহলে পূর্বে বর্ণিত পদ্ধতি অনুযায়ী একটি API কী সংগ্রহ করে অ্যাপে যোগ করেছেন কিনা তা যাচাই করুন। API কী সম্পর্কিত ত্রুটির বার্তার জন্য Xcode-এর ডিবাগিং কনসোল দেখুন।
  • আপনি যদি iOS বান্ডেল আইডেন্টিফায়ার দ্বারা API কী-টি সীমাবদ্ধ করে থাকেন, তাহলে অ্যাপটির বান্ডেল আইডেন্টিফায়ার যোগ করতে কী-টি সম্পাদনা করুন: com.google.examples.map-with-marker
  • আপনার একটি ভালো ওয়াইফাই বা জিপিএস সংযোগ আছে কিনা তা নিশ্চিত করুন।
  • লগ দেখতে ও অ্যাপটি ডিবাগ করতে এক্সকোডের ডিবাগিং টুলগুলো ব্যবহার করুন।

কোডটি বুঝুন

  1. একটি ম্যাপ তৈরি করুন এবং viewDidLoad() ফাংশনে সেটিকে ভিউ হিসেবে সেট করুন।

    সুইফট

    // Create a GMSCameraPosition that tells the map to display the
    // coordinate -33.86,151.20 at zoom level 6.
    let camera = GMSCameraPosition.camera(withLatitude: -33.86, longitude: 151.20, zoom: 6.0)
    let mapView = GMSMapView.map(withFrame: CGRect.zero, camera: camera)
    view = mapView
          

    উদ্দেশ্য-সি

    // Create a GMSCameraPosition that tells the map to display the
    // coordinate -33.86,151.20 at zoom level 6.
    GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:-33.86
                                                            longitude:151.20
                                                                 zoom:6.0];
    GMSMapView *mapView = [[GMSMapView alloc] initWithFrame: CGRectZero camera:camera];
    self.view = mapView;
          
  2. viewDidLoad() -এ ম্যাপে একটি মার্কার যোগ করুন।

    সুইফট

    // Creates a marker in the center of the map.
    let marker = GMSMarker()
    marker.position = CLLocationCoordinate2D(latitude: -33.86, longitude: 151.20)
    marker.title = "Sydney"
    marker.snippet = "Australia"
    marker.map = mapView
          

    উদ্দেশ্য-সি

    // Creates a marker in the center of the map.
    GMSMarker *marker = [[GMSMarker alloc] init];
    marker.position = CLLocationCoordinate2DMake(-33.86, 151.20);
    marker.title = @"Sydney";
    marker.snippet = @"Australia";
    marker.map = mapView;
          

ডিফল্টরূপে, ব্যবহারকারী যখন কোনো মার্কার ট্যাপ করেন, তখন iOS-এর জন্য Maps SDK তথ্য উইন্ডোর বিষয়বস্তু প্রদর্শন করে। আপনি যদি এই ডিফল্ট আচরণটিই ব্যবহার করতে চান, তবে মার্কারটির জন্য ক্লিক লিসেনার যোগ করার কোনো প্রয়োজন নেই।

অভিনন্দন! আপনি এমন একটি iOS অ্যাপ তৈরি করেছেন যা একটি নির্দিষ্ট স্থান চিহ্নিত করার জন্য মার্কারসহ গুগল ম্যাপ প্রদর্শন করে। আপনি iOS-এর জন্য Maps SDK কীভাবে ব্যবহার করতে হয়, তাও শিখেছেন।

পরবর্তী পদক্ষেপ

ম্যাপ অবজেক্ট এবং মার্কার দিয়ে কী কী করা যায়, সে সম্পর্কে আরও জানুন।