আমার অবস্থান বাটন সক্রিয় করুন

আমার অবস্থান বোতামটি সক্ষম করুন এর ছবি।

ম্যাপ ভিউয়ের নীচের ডান কোণে "আমার অবস্থান" বোতামটি প্রদর্শিত হবে। ব্যবহারকারী যখন বোতামটি ট্যাপ করেন, তখন মানচিত্রটি ব্যবহারকারীর বর্তমান অবস্থানে চলে যায়।

শুরু করুন

নমুনা কোডটি চেষ্টা করার আগে, আপনাকে অবশ্যই আপনার ডেভেলপমেন্ট পরিবেশ কনফিগার করতে হবে। আরও তথ্যের জন্য, iOS কোড নমুনার জন্য Maps SDK দেখুন।

কোডটি দেখুন

সুইফট

import GoogleMaps
import UIKit

class MyLocationViewController: UIViewController {

  private let cameraLatitude: CLLocationDegrees = -33.868

  private let cameraLongitude: CLLocationDegrees = 151.2086

  private let cameraZoom: Float = 12

  lazy var mapView: GMSMapView = {
    let camera = GMSCameraPosition(
      latitude: cameraLatitude, longitude: cameraLongitude, zoom: cameraZoom)
    return GMSMapView(frame: .zero, camera: camera)
  }()

  var observation: NSKeyValueObservation?
  var location: CLLocation? {
    didSet {
      guard oldValue == nil, let firstLocation = location else { return }
      mapView.camera = GMSCameraPosition(target: firstLocation.coordinate, zoom: 14)
    }
  }

  override func viewDidLoad() {
    super.viewDidLoad()

    mapView.delegate = self
    mapView.settings.compassButton = true
    mapView.settings.myLocationButton = true
    mapView.isMyLocationEnabled = true
    view = mapView

    // Listen to the myLocation property of GMSMapView.
    observation = mapView.observe(\.myLocation, options: [.new]) {
      [weak self] mapView, _ in
      self?.location = mapView.myLocation
    }
  }

  deinit {
    observation?.invalidate()
  }
}

extension MyLocationViewController: GMSMapViewDelegate {
  func mapView(_ mapView: GMSMapView, didTapMyLocation location: CLLocationCoordinate2D) {
    let alert = UIAlertController(
      title: "Location Tapped",
      message: "Current location: <\(location.latitude), \(location.longitude)>",
      preferredStyle: .alert)
    alert.addAction(UIAlertAction(title: "OK", style: .default))
    present(alert, animated: true)
  }
}
      

অবজেক্টিভ-সি

#import "GoogleMapsDemos/Samples/MyLocationViewController.h"

#import <GoogleMaps/GoogleMaps.h>

@implementation MyLocationViewController {
  GMSMapView *_mapView;
  BOOL _firstLocationUpdate;
}

- (void)viewDidLoad {
  [super viewDidLoad];
  GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:-33.868
                                                          longitude:151.2086
                                                               zoom:12];

  _mapView = [GMSMapView mapWithFrame:CGRectZero camera:camera];
  _mapView.delegate = self;
  _mapView.settings.compassButton = YES;
  _mapView.settings.myLocationButton = YES;

  // Listen to the myLocation property of GMSMapView.
  [_mapView addObserver:self
             forKeyPath:@"myLocation"
                options:NSKeyValueObservingOptionNew
                context:NULL];

  self.view = _mapView;

  // Ask for My Location data after the map has already been added to the UI.
  GMSMapView *mapView = _mapView;
  dispatch_async(dispatch_get_main_queue(), ^{
    mapView.myLocationEnabled = YES;
  });
}

- (void)mapView:(GMSMapView *)mapView didTapMyLocation:(CLLocationCoordinate2D)location {
  NSString *message = [NSString stringWithFormat:@"My Location Dot Tapped at: [lat: %f, lng: %f]",
                                                 location.latitude, location.longitude];
  UIAlertController *alertController =
      [UIAlertController alertControllerWithTitle:@"Location Tapped"
                                          message:message
                                   preferredStyle:UIAlertControllerStyleAlert];
  UIAlertAction *okAction = [UIAlertAction actionWithTitle:@"OK"
                                                     style:UIAlertActionStyleDefault
                                                   handler:^(UIAlertAction *action){
                                                   }];
  [alertController addAction:okAction];
  [self presentViewController:alertController animated:YES completion:nil];
}

- (void)dealloc {
  [_mapView removeObserver:self forKeyPath:@"myLocation" context:NULL];
}

#pragma mark - KVO updates

- (void)observeValueForKeyPath:(NSString *)keyPath
                      ofObject:(id)object
                        change:(NSDictionary *)change
                       context:(void *)context {
  if (!_firstLocationUpdate) {
    // If the first location update has not yet been received, then jump to that location.
    _firstLocationUpdate = YES;
    CLLocation *location = [change objectForKey:NSKeyValueChangeNewKey];
    _mapView.camera = [GMSCameraPosition cameraWithTarget:location.coordinate zoom:14];
  }
}

@end
      

সম্পূর্ণ নমুনা অ্যাপটি স্থানীয়ভাবে চালান

iOS নমুনা অ্যাপের জন্য Maps SDK GitHub থেকে ডাউনলোড আর্কাইভ হিসেবে পাওয়া যাচ্ছে। iOS নমুনা অ্যাপের জন্য Maps SDK ইনস্টল করে চেষ্টা করে দেখতে এই ধাপগুলি অনুসরণ করুন।

  1. স্থানীয় ডিরেক্টরিতে নমুনা সংগ্রহস্থল ক্লোন করতে git clone https://github.com/googlemaps-samples/maps-sdk-for-ios-samples.git চালান।
  2. একটি টার্মিনাল উইন্ডো খুলুন, যেখানে আপনি নমুনা ফাইলগুলি ক্লোন করেছেন সেই ডিরেক্টরিতে যান এবং GoogleMaps ডিরেক্টরিতে যান:

    সুইফট

    cd maps-sdk-for-ios-samples/GoogleMaps-Swift
    open GoogleMapsSwiftXCFrameworkDemos.xcodeproj

    অবজেক্টিভ-সি

    cd maps-sdk-for-ios-samples-main/GoogleMaps
    open GoogleMapsDemos.xcodeproj
  3. Xcode প্রজেক্টে, File > Add Package Dependencies এ যান। URL হিসেবে https://github.com/googlemaps/ios-maps-sdk লিখুন, প্যাকেজটি টেনে আনতে Enter টিপুন এবং Add Package এ ক্লিক করুন।
  4. Xcode-এ, বর্তমান স্কিম ব্যবহার করে অ্যাপ তৈরি করতে কম্পাইল বোতাম টিপুন। বিল্ডটি একটি ত্রুটি তৈরি করে, যার ফলে আপনাকে Swift-এর জন্য SDKConstants.swift ফাইলে অথবা Objective-C-এর জন্য SDKDemoAPIKey.h ফাইলে আপনার API কী লিখতে হবে।
  5. iOS এর জন্য Maps SDK সক্ষম করে আপনার প্রকল্প থেকে একটি API কী পান
  6. Swift এর জন্য SDKConstants.swift ফাইল অথবা Objective-C এর জন্য SDKDemoAPIKey.h ফাইল সম্পাদনা করুন এবং আপনার API কীটি apiKey অথবা kAPIKey ধ্রুবকের সংজ্ঞায় পেস্ট করুন। উদাহরণস্বরূপ:

    সুইফট

    static let apiKey = "YOUR_API_KEY"

    অবজেক্টিভ-সি

    static NSString *const kAPIKey = @"YOUR_API_KEY";
  7. SDKConstants.swift ফাইল (Swift) অথবা SDKDemoAPIKey.h ফাইল (Objective-C) থেকে, নিম্নলিখিত লাইনটি সরিয়ে ফেলুন, কারণ এটি ব্যবহারকারী-সংজ্ঞায়িত সমস্যা নিবন্ধন করতে ব্যবহৃত হয়:

    সুইফট

    #error (Register for API Key and insert here. Then delete this line.)

    অবজেক্টিভ-সি

    #error Register for API Key and insert here.
  8. প্রকল্পটি তৈরি করুন এবং চালান। iOS সিমুলেটর উইন্ডোটি প্রদর্শিত হবে, যেখানে Maps SDK ডেমোর একটি তালিকা দেখানো হবে।
  9. iOS এর জন্য Maps SDK এর একটি বৈশিষ্ট্য নিয়ে পরীক্ষা করার জন্য প্রদর্শিত বিকল্পগুলির মধ্যে একটি বেছে নিন।
  10. যদি GoogleMapsDemos কে আপনার অবস্থান অ্যাক্সেস করার অনুমতি দিতে বলা হয়, তাহলে Allow নির্বাচন করুন।
,

আমার অবস্থান বোতামটি সক্ষম করুন এর ছবি।

ম্যাপ ভিউয়ের নীচের ডান কোণে "আমার অবস্থান" বোতামটি প্রদর্শিত হবে। ব্যবহারকারী যখন বোতামটি ট্যাপ করেন, তখন মানচিত্রটি ব্যবহারকারীর বর্তমান অবস্থানে চলে যায়।

শুরু করুন

নমুনা কোডটি চেষ্টা করার আগে, আপনাকে অবশ্যই আপনার ডেভেলপমেন্ট পরিবেশ কনফিগার করতে হবে। আরও তথ্যের জন্য, iOS কোড নমুনার জন্য Maps SDK দেখুন।

কোডটি দেখুন

সুইফট

import GoogleMaps
import UIKit

class MyLocationViewController: UIViewController {

  private let cameraLatitude: CLLocationDegrees = -33.868

  private let cameraLongitude: CLLocationDegrees = 151.2086

  private let cameraZoom: Float = 12

  lazy var mapView: GMSMapView = {
    let camera = GMSCameraPosition(
      latitude: cameraLatitude, longitude: cameraLongitude, zoom: cameraZoom)
    return GMSMapView(frame: .zero, camera: camera)
  }()

  var observation: NSKeyValueObservation?
  var location: CLLocation? {
    didSet {
      guard oldValue == nil, let firstLocation = location else { return }
      mapView.camera = GMSCameraPosition(target: firstLocation.coordinate, zoom: 14)
    }
  }

  override func viewDidLoad() {
    super.viewDidLoad()

    mapView.delegate = self
    mapView.settings.compassButton = true
    mapView.settings.myLocationButton = true
    mapView.isMyLocationEnabled = true
    view = mapView

    // Listen to the myLocation property of GMSMapView.
    observation = mapView.observe(\.myLocation, options: [.new]) {
      [weak self] mapView, _ in
      self?.location = mapView.myLocation
    }
  }

  deinit {
    observation?.invalidate()
  }
}

extension MyLocationViewController: GMSMapViewDelegate {
  func mapView(_ mapView: GMSMapView, didTapMyLocation location: CLLocationCoordinate2D) {
    let alert = UIAlertController(
      title: "Location Tapped",
      message: "Current location: <\(location.latitude), \(location.longitude)>",
      preferredStyle: .alert)
    alert.addAction(UIAlertAction(title: "OK", style: .default))
    present(alert, animated: true)
  }
}
      

অবজেক্টিভ-সি

#import "GoogleMapsDemos/Samples/MyLocationViewController.h"

#import <GoogleMaps/GoogleMaps.h>

@implementation MyLocationViewController {
  GMSMapView *_mapView;
  BOOL _firstLocationUpdate;
}

- (void)viewDidLoad {
  [super viewDidLoad];
  GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:-33.868
                                                          longitude:151.2086
                                                               zoom:12];

  _mapView = [GMSMapView mapWithFrame:CGRectZero camera:camera];
  _mapView.delegate = self;
  _mapView.settings.compassButton = YES;
  _mapView.settings.myLocationButton = YES;

  // Listen to the myLocation property of GMSMapView.
  [_mapView addObserver:self
             forKeyPath:@"myLocation"
                options:NSKeyValueObservingOptionNew
                context:NULL];

  self.view = _mapView;

  // Ask for My Location data after the map has already been added to the UI.
  GMSMapView *mapView = _mapView;
  dispatch_async(dispatch_get_main_queue(), ^{
    mapView.myLocationEnabled = YES;
  });
}

- (void)mapView:(GMSMapView *)mapView didTapMyLocation:(CLLocationCoordinate2D)location {
  NSString *message = [NSString stringWithFormat:@"My Location Dot Tapped at: [lat: %f, lng: %f]",
                                                 location.latitude, location.longitude];
  UIAlertController *alertController =
      [UIAlertController alertControllerWithTitle:@"Location Tapped"
                                          message:message
                                   preferredStyle:UIAlertControllerStyleAlert];
  UIAlertAction *okAction = [UIAlertAction actionWithTitle:@"OK"
                                                     style:UIAlertActionStyleDefault
                                                   handler:^(UIAlertAction *action){
                                                   }];
  [alertController addAction:okAction];
  [self presentViewController:alertController animated:YES completion:nil];
}

- (void)dealloc {
  [_mapView removeObserver:self forKeyPath:@"myLocation" context:NULL];
}

#pragma mark - KVO updates

- (void)observeValueForKeyPath:(NSString *)keyPath
                      ofObject:(id)object
                        change:(NSDictionary *)change
                       context:(void *)context {
  if (!_firstLocationUpdate) {
    // If the first location update has not yet been received, then jump to that location.
    _firstLocationUpdate = YES;
    CLLocation *location = [change objectForKey:NSKeyValueChangeNewKey];
    _mapView.camera = [GMSCameraPosition cameraWithTarget:location.coordinate zoom:14];
  }
}

@end
      

সম্পূর্ণ নমুনা অ্যাপটি স্থানীয়ভাবে চালান

iOS নমুনা অ্যাপের জন্য Maps SDK GitHub থেকে ডাউনলোড আর্কাইভ হিসেবে পাওয়া যাচ্ছে। iOS নমুনা অ্যাপের জন্য Maps SDK ইনস্টল করে চেষ্টা করে দেখতে এই ধাপগুলি অনুসরণ করুন।

  1. স্থানীয় ডিরেক্টরিতে নমুনা সংগ্রহস্থল ক্লোন করতে git clone https://github.com/googlemaps-samples/maps-sdk-for-ios-samples.git চালান।
  2. একটি টার্মিনাল উইন্ডো খুলুন, যেখানে আপনি নমুনা ফাইলগুলি ক্লোন করেছেন সেই ডিরেক্টরিতে যান এবং GoogleMaps ডিরেক্টরিতে যান:

    সুইফট

    cd maps-sdk-for-ios-samples/GoogleMaps-Swift
    open GoogleMapsSwiftXCFrameworkDemos.xcodeproj

    অবজেক্টিভ-সি

    cd maps-sdk-for-ios-samples-main/GoogleMaps
    open GoogleMapsDemos.xcodeproj
  3. Xcode প্রজেক্টে, File > Add Package Dependencies এ যান। URL হিসেবে https://github.com/googlemaps/ios-maps-sdk লিখুন, প্যাকেজটি টেনে আনতে Enter টিপুন এবং Add Package এ ক্লিক করুন।
  4. Xcode-এ, বর্তমান স্কিম ব্যবহার করে অ্যাপ তৈরি করতে কম্পাইল বোতাম টিপুন। বিল্ডটি একটি ত্রুটি তৈরি করে, যার ফলে আপনাকে Swift-এর জন্য SDKConstants.swift ফাইলে অথবা Objective-C-এর জন্য SDKDemoAPIKey.h ফাইলে আপনার API কী লিখতে হবে।
  5. iOS এর জন্য Maps SDK সক্ষম করে আপনার প্রকল্প থেকে একটি API কী পান
  6. Swift এর জন্য SDKConstants.swift ফাইল অথবা Objective-C এর জন্য SDKDemoAPIKey.h ফাইল সম্পাদনা করুন এবং আপনার API কীটি apiKey অথবা kAPIKey ধ্রুবকের সংজ্ঞায় পেস্ট করুন। উদাহরণস্বরূপ:

    সুইফট

    static let apiKey = "YOUR_API_KEY"

    অবজেক্টিভ-সি

    static NSString *const kAPIKey = @"YOUR_API_KEY";
  7. SDKConstants.swift ফাইল (Swift) অথবা SDKDemoAPIKey.h ফাইল (Objective-C) থেকে, নিম্নলিখিত লাইনটি সরিয়ে ফেলুন, কারণ এটি ব্যবহারকারী-সংজ্ঞায়িত সমস্যা নিবন্ধন করতে ব্যবহৃত হয়:

    সুইফট

    #error (Register for API Key and insert here. Then delete this line.)

    অবজেক্টিভ-সি

    #error Register for API Key and insert here.
  8. প্রকল্পটি তৈরি করুন এবং চালান। iOS সিমুলেটর উইন্ডোটি প্রদর্শিত হবে, যেখানে Maps SDK ডেমোর একটি তালিকা দেখানো হবে।
  9. iOS এর জন্য Maps SDK এর একটি বৈশিষ্ট্য নিয়ে পরীক্ষা করার জন্য প্রদর্শিত বিকল্পগুলির মধ্যে একটি বেছে নিন।
  10. যদি GoogleMapsDemos কে আপনার অবস্থান অ্যাক্সেস করার অনুমতি দিতে বলা হয়, তাহলে Allow নির্বাচন করুন।
,

আমার অবস্থান বোতামটি সক্ষম করুন এর ছবি।

ম্যাপ ভিউয়ের নীচের ডান কোণে "আমার অবস্থান" বোতামটি প্রদর্শিত হবে। ব্যবহারকারী যখন বোতামটি ট্যাপ করেন, তখন মানচিত্রটি ব্যবহারকারীর বর্তমান অবস্থানে চলে যায়।

শুরু করুন

নমুনা কোডটি চেষ্টা করার আগে, আপনাকে অবশ্যই আপনার ডেভেলপমেন্ট পরিবেশ কনফিগার করতে হবে। আরও তথ্যের জন্য, iOS কোড নমুনার জন্য Maps SDK দেখুন।

কোডটি দেখুন

সুইফট

import GoogleMaps
import UIKit

class MyLocationViewController: UIViewController {

  private let cameraLatitude: CLLocationDegrees = -33.868

  private let cameraLongitude: CLLocationDegrees = 151.2086

  private let cameraZoom: Float = 12

  lazy var mapView: GMSMapView = {
    let camera = GMSCameraPosition(
      latitude: cameraLatitude, longitude: cameraLongitude, zoom: cameraZoom)
    return GMSMapView(frame: .zero, camera: camera)
  }()

  var observation: NSKeyValueObservation?
  var location: CLLocation? {
    didSet {
      guard oldValue == nil, let firstLocation = location else { return }
      mapView.camera = GMSCameraPosition(target: firstLocation.coordinate, zoom: 14)
    }
  }

  override func viewDidLoad() {
    super.viewDidLoad()

    mapView.delegate = self
    mapView.settings.compassButton = true
    mapView.settings.myLocationButton = true
    mapView.isMyLocationEnabled = true
    view = mapView

    // Listen to the myLocation property of GMSMapView.
    observation = mapView.observe(\.myLocation, options: [.new]) {
      [weak self] mapView, _ in
      self?.location = mapView.myLocation
    }
  }

  deinit {
    observation?.invalidate()
  }
}

extension MyLocationViewController: GMSMapViewDelegate {
  func mapView(_ mapView: GMSMapView, didTapMyLocation location: CLLocationCoordinate2D) {
    let alert = UIAlertController(
      title: "Location Tapped",
      message: "Current location: <\(location.latitude), \(location.longitude)>",
      preferredStyle: .alert)
    alert.addAction(UIAlertAction(title: "OK", style: .default))
    present(alert, animated: true)
  }
}
      

অবজেক্টিভ-সি

#import "GoogleMapsDemos/Samples/MyLocationViewController.h"

#import <GoogleMaps/GoogleMaps.h>

@implementation MyLocationViewController {
  GMSMapView *_mapView;
  BOOL _firstLocationUpdate;
}

- (void)viewDidLoad {
  [super viewDidLoad];
  GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:-33.868
                                                          longitude:151.2086
                                                               zoom:12];

  _mapView = [GMSMapView mapWithFrame:CGRectZero camera:camera];
  _mapView.delegate = self;
  _mapView.settings.compassButton = YES;
  _mapView.settings.myLocationButton = YES;

  // Listen to the myLocation property of GMSMapView.
  [_mapView addObserver:self
             forKeyPath:@"myLocation"
                options:NSKeyValueObservingOptionNew
                context:NULL];

  self.view = _mapView;

  // Ask for My Location data after the map has already been added to the UI.
  GMSMapView *mapView = _mapView;
  dispatch_async(dispatch_get_main_queue(), ^{
    mapView.myLocationEnabled = YES;
  });
}

- (void)mapView:(GMSMapView *)mapView didTapMyLocation:(CLLocationCoordinate2D)location {
  NSString *message = [NSString stringWithFormat:@"My Location Dot Tapped at: [lat: %f, lng: %f]",
                                                 location.latitude, location.longitude];
  UIAlertController *alertController =
      [UIAlertController alertControllerWithTitle:@"Location Tapped"
                                          message:message
                                   preferredStyle:UIAlertControllerStyleAlert];
  UIAlertAction *okAction = [UIAlertAction actionWithTitle:@"OK"
                                                     style:UIAlertActionStyleDefault
                                                   handler:^(UIAlertAction *action){
                                                   }];
  [alertController addAction:okAction];
  [self presentViewController:alertController animated:YES completion:nil];
}

- (void)dealloc {
  [_mapView removeObserver:self forKeyPath:@"myLocation" context:NULL];
}

#pragma mark - KVO updates

- (void)observeValueForKeyPath:(NSString *)keyPath
                      ofObject:(id)object
                        change:(NSDictionary *)change
                       context:(void *)context {
  if (!_firstLocationUpdate) {
    // If the first location update has not yet been received, then jump to that location.
    _firstLocationUpdate = YES;
    CLLocation *location = [change objectForKey:NSKeyValueChangeNewKey];
    _mapView.camera = [GMSCameraPosition cameraWithTarget:location.coordinate zoom:14];
  }
}

@end
      

সম্পূর্ণ নমুনা অ্যাপটি স্থানীয়ভাবে চালান

iOS নমুনা অ্যাপের জন্য Maps SDK GitHub থেকে ডাউনলোড আর্কাইভ হিসেবে পাওয়া যাচ্ছে। iOS নমুনা অ্যাপের জন্য Maps SDK ইনস্টল করে চেষ্টা করে দেখতে এই ধাপগুলি অনুসরণ করুন।

  1. স্থানীয় ডিরেক্টরিতে নমুনা সংগ্রহস্থল ক্লোন করতে git clone https://github.com/googlemaps-samples/maps-sdk-for-ios-samples.git চালান।
  2. একটি টার্মিনাল উইন্ডো খুলুন, যেখানে আপনি নমুনা ফাইলগুলি ক্লোন করেছেন সেই ডিরেক্টরিতে যান এবং GoogleMaps ডিরেক্টরিতে যান:

    সুইফট

    cd maps-sdk-for-ios-samples/GoogleMaps-Swift
    open GoogleMapsSwiftXCFrameworkDemos.xcodeproj

    অবজেক্টিভ-সি

    cd maps-sdk-for-ios-samples-main/GoogleMaps
    open GoogleMapsDemos.xcodeproj
  3. Xcode প্রজেক্টে, File > Add Package Dependencies এ যান। URL হিসেবে https://github.com/googlemaps/ios-maps-sdk লিখুন, প্যাকেজটি টেনে আনতে Enter টিপুন এবং Add Package এ ক্লিক করুন।
  4. Xcode-এ, বর্তমান স্কিম ব্যবহার করে অ্যাপ তৈরি করতে কম্পাইল বোতাম টিপুন। বিল্ডটি একটি ত্রুটি তৈরি করে, যার ফলে আপনাকে Swift-এর জন্য SDKConstants.swift ফাইলে অথবা Objective-C-এর জন্য SDKDemoAPIKey.h ফাইলে আপনার API কী লিখতে হবে।
  5. iOS এর জন্য Maps SDK সক্ষম করে আপনার প্রকল্প থেকে একটি API কী পান
  6. Swift এর জন্য SDKConstants.swift ফাইল অথবা Objective-C এর জন্য SDKDemoAPIKey.h ফাইল সম্পাদনা করুন এবং আপনার API কীটি apiKey অথবা kAPIKey ধ্রুবকের সংজ্ঞায় পেস্ট করুন। উদাহরণস্বরূপ:

    সুইফট

    static let apiKey = "YOUR_API_KEY"

    অবজেক্টিভ-সি

    static NSString *const kAPIKey = @"YOUR_API_KEY";
  7. SDKConstants.swift ফাইল (Swift) অথবা SDKDemoAPIKey.h ফাইল (Objective-C) থেকে, নিম্নলিখিত লাইনটি সরিয়ে ফেলুন, কারণ এটি ব্যবহারকারী-সংজ্ঞায়িত সমস্যা নিবন্ধন করতে ব্যবহৃত হয়:

    সুইফট

    #error (Register for API Key and insert here. Then delete this line.)

    অবজেক্টিভ-সি

    #error Register for API Key and insert here.
  8. প্রকল্পটি তৈরি করুন এবং চালান। iOS সিমুলেটর উইন্ডোটি প্রদর্শিত হবে, যেখানে Maps SDK ডেমোর একটি তালিকা দেখানো হবে।
  9. iOS এর জন্য Maps SDK এর একটি বৈশিষ্ট্য নিয়ে পরীক্ষা করার জন্য প্রদর্শিত বিকল্পগুলির মধ্যে একটি বেছে নিন।
  10. যদি GoogleMapsDemos কে আপনার অবস্থান অ্যাক্সেস করার অনুমতি দিতে বলা হয়, তাহলে Allow নির্বাচন করুন।
,

আমার অবস্থান বোতামটি সক্ষম করুন এর ছবি।

ম্যাপ ভিউয়ের নীচের ডান কোণে "আমার অবস্থান" বোতামটি প্রদর্শিত হবে। ব্যবহারকারী যখন বোতামটি ট্যাপ করেন, তখন মানচিত্রটি ব্যবহারকারীর বর্তমান অবস্থানে চলে যায়।

শুরু করুন

নমুনা কোডটি চেষ্টা করার আগে, আপনাকে অবশ্যই আপনার ডেভেলপমেন্ট পরিবেশ কনফিগার করতে হবে। আরও তথ্যের জন্য, iOS কোড নমুনার জন্য Maps SDK দেখুন।

কোডটি দেখুন

সুইফট

import GoogleMaps
import UIKit

class MyLocationViewController: UIViewController {

  private let cameraLatitude: CLLocationDegrees = -33.868

  private let cameraLongitude: CLLocationDegrees = 151.2086

  private let cameraZoom: Float = 12

  lazy var mapView: GMSMapView = {
    let camera = GMSCameraPosition(
      latitude: cameraLatitude, longitude: cameraLongitude, zoom: cameraZoom)
    return GMSMapView(frame: .zero, camera: camera)
  }()

  var observation: NSKeyValueObservation?
  var location: CLLocation? {
    didSet {
      guard oldValue == nil, let firstLocation = location else { return }
      mapView.camera = GMSCameraPosition(target: firstLocation.coordinate, zoom: 14)
    }
  }

  override func viewDidLoad() {
    super.viewDidLoad()

    mapView.delegate = self
    mapView.settings.compassButton = true
    mapView.settings.myLocationButton = true
    mapView.isMyLocationEnabled = true
    view = mapView

    // Listen to the myLocation property of GMSMapView.
    observation = mapView.observe(\.myLocation, options: [.new]) {
      [weak self] mapView, _ in
      self?.location = mapView.myLocation
    }
  }

  deinit {
    observation?.invalidate()
  }
}

extension MyLocationViewController: GMSMapViewDelegate {
  func mapView(_ mapView: GMSMapView, didTapMyLocation location: CLLocationCoordinate2D) {
    let alert = UIAlertController(
      title: "Location Tapped",
      message: "Current location: <\(location.latitude), \(location.longitude)>",
      preferredStyle: .alert)
    alert.addAction(UIAlertAction(title: "OK", style: .default))
    present(alert, animated: true)
  }
}
      

অবজেক্টিভ-সি

#import "GoogleMapsDemos/Samples/MyLocationViewController.h"

#import <GoogleMaps/GoogleMaps.h>

@implementation MyLocationViewController {
  GMSMapView *_mapView;
  BOOL _firstLocationUpdate;
}

- (void)viewDidLoad {
  [super viewDidLoad];
  GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:-33.868
                                                          longitude:151.2086
                                                               zoom:12];

  _mapView = [GMSMapView mapWithFrame:CGRectZero camera:camera];
  _mapView.delegate = self;
  _mapView.settings.compassButton = YES;
  _mapView.settings.myLocationButton = YES;

  // Listen to the myLocation property of GMSMapView.
  [_mapView addObserver:self
             forKeyPath:@"myLocation"
                options:NSKeyValueObservingOptionNew
                context:NULL];

  self.view = _mapView;

  // Ask for My Location data after the map has already been added to the UI.
  GMSMapView *mapView = _mapView;
  dispatch_async(dispatch_get_main_queue(), ^{
    mapView.myLocationEnabled = YES;
  });
}

- (void)mapView:(GMSMapView *)mapView didTapMyLocation:(CLLocationCoordinate2D)location {
  NSString *message = [NSString stringWithFormat:@"My Location Dot Tapped at: [lat: %f, lng: %f]",
                                                 location.latitude, location.longitude];
  UIAlertController *alertController =
      [UIAlertController alertControllerWithTitle:@"Location Tapped"
                                          message:message
                                   preferredStyle:UIAlertControllerStyleAlert];
  UIAlertAction *okAction = [UIAlertAction actionWithTitle:@"OK"
                                                     style:UIAlertActionStyleDefault
                                                   handler:^(UIAlertAction *action){
                                                   }];
  [alertController addAction:okAction];
  [self presentViewController:alertController animated:YES completion:nil];
}

- (void)dealloc {
  [_mapView removeObserver:self forKeyPath:@"myLocation" context:NULL];
}

#pragma mark - KVO updates

- (void)observeValueForKeyPath:(NSString *)keyPath
                      ofObject:(id)object
                        change:(NSDictionary *)change
                       context:(void *)context {
  if (!_firstLocationUpdate) {
    // If the first location update has not yet been received, then jump to that location.
    _firstLocationUpdate = YES;
    CLLocation *location = [change objectForKey:NSKeyValueChangeNewKey];
    _mapView.camera = [GMSCameraPosition cameraWithTarget:location.coordinate zoom:14];
  }
}

@end
      

সম্পূর্ণ নমুনা অ্যাপটি স্থানীয়ভাবে চালান

iOS নমুনা অ্যাপের জন্য Maps SDK GitHub থেকে ডাউনলোড আর্কাইভ হিসেবে পাওয়া যাচ্ছে। iOS নমুনা অ্যাপের জন্য Maps SDK ইনস্টল করে চেষ্টা করে দেখতে এই ধাপগুলি অনুসরণ করুন।

  1. স্থানীয় ডিরেক্টরিতে নমুনা সংগ্রহস্থল ক্লোন করতে git clone https://github.com/googlemaps-samples/maps-sdk-for-ios-samples.git চালান।
  2. একটি টার্মিনাল উইন্ডো খুলুন, যেখানে আপনি নমুনা ফাইলগুলি ক্লোন করেছেন সেই ডিরেক্টরিতে যান এবং GoogleMaps ডিরেক্টরিতে যান:

    সুইফট

    cd maps-sdk-for-ios-samples/GoogleMaps-Swift
    open GoogleMapsSwiftXCFrameworkDemos.xcodeproj

    অবজেক্টিভ-সি

    cd maps-sdk-for-ios-samples-main/GoogleMaps
    open GoogleMapsDemos.xcodeproj
  3. Xcode প্রজেক্টে, File > Add Package Dependencies এ যান। URL হিসেবে https://github.com/googlemaps/ios-maps-sdk লিখুন, প্যাকেজটি টেনে আনতে Enter টিপুন এবং Add Package এ ক্লিক করুন।
  4. Xcode-এ, বর্তমান স্কিম ব্যবহার করে অ্যাপ তৈরি করতে কম্পাইল বোতাম টিপুন। বিল্ডটি একটি ত্রুটি তৈরি করে, যার ফলে আপনাকে Swift-এর জন্য SDKConstants.swift ফাইলে অথবা Objective-C-এর জন্য SDKDemoAPIKey.h ফাইলে আপনার API কী লিখতে হবে।
  5. iOS এর জন্য Maps SDK সক্ষম করে আপনার প্রকল্প থেকে একটি API কী পান
  6. Swift এর জন্য SDKConstants.swift ফাইল অথবা Objective-C এর জন্য SDKDemoAPIKey.h ফাইল সম্পাদনা করুন এবং আপনার API কীটি apiKey অথবা kAPIKey ধ্রুবকের সংজ্ঞায় পেস্ট করুন। উদাহরণস্বরূপ:

    সুইফট

    static let apiKey = "YOUR_API_KEY"

    অবজেক্টিভ-সি

    static NSString *const kAPIKey = @"YOUR_API_KEY";
  7. SDKConstants.swift ফাইল (Swift) অথবা SDKDemoAPIKey.h ফাইল (Objective-C) থেকে, নিম্নলিখিত লাইনটি সরিয়ে ফেলুন, কারণ এটি ব্যবহারকারী-সংজ্ঞায়িত সমস্যা নিবন্ধন করতে ব্যবহৃত হয়:

    সুইফট

    #error (Register for API Key and insert here. Then delete this line.)

    অবজেক্টিভ-সি

    #error Register for API Key and insert here.
  8. প্রকল্পটি তৈরি করুন এবং চালান। iOS সিমুলেটর উইন্ডোটি প্রদর্শিত হবে, যেখানে Maps SDK ডেমোর একটি তালিকা দেখানো হবে।
  9. iOS এর জন্য Maps SDK এর একটি বৈশিষ্ট্য নিয়ে পরীক্ষা করার জন্য প্রদর্শিত বিকল্পগুলির মধ্যে একটি বেছে নিন।
  10. যদি GoogleMapsDemos কে আপনার অবস্থান অ্যাক্সেস করার অনুমতি দিতে বলা হয়, তাহলে Allow নির্বাচন করুন।