প্রায় সকল অ্যাপ্লিকেশন লোকেশন সার্ভিসেস ব্যবহার করে, তাই লোকেশন সম্পর্কে সম্পূর্ণ ধারণা থাকা প্রয়োজন। এই পোস্টে আমরা দেখব কিভাবে বর্তমান লোকেশনের ল্যাটিটিউড এবং লংগিটিউড পাওয়া যায়।
এজন্য আমরা CLLocationManager ব্যবহার করব, আরো জানুন: https://developer.apple.com/documentation/corelocation/cllocationmanager
আমরা একটি স্যাম্পল অ্যাপ্লিকেশন তৈরি করব যেখানে viewDidLoad মেথডে ইউজারের ল্যাটিটিউড এবং লংগিটিউড প্রিন্ট করব, বিকল্পভাবে বাটন ট্যাপ করলে বা UILabel-এও প্রিন্ট করা যায় প্রয়োজন অনুযায়ী।
চলুন শুরু করি,
Step 1 − Xcode → New Project → Single View Application → নাম দিন "Location"
Step 2 − info.plist ফাইল খুলুন এবং নিচের কীগুলো যোগ করুন।
<key>NSLocationWhenInUseUsageDescription</key>
<string>Application wants to use your location</string>
<key>NSLocationAlwaysUsageDescription</key>
<string>Application wants to use your location</string>

লোকেশন রিলেটেড কাজ করার সময় এই কীগুলো প্রয়োজন, আমাদের ইউজারের পারমিশন চাইতে হয়।
Step 3 − ViewController.swift-এ,
import CoreLocation
Step 4 − CLLocationManager অবজেক্ট তৈরি করুন।
var locationManager = CLLocationManager()
Step 5 − viewDidLoad মেথডে নিচের কোড লিখুন।
locationManager.requestWhenInUseAuthorization()
var currentLoc: CLLocation!
if(CLLocationManager.authorizationStatus() == .authorizedWhenInUse || CLLocationManager.authorizationStatus() == .authorizedAlways) {
currentLoc = locationManager.location
print(currentLoc.coordinate.latitude)
print(currentLoc.coordinate.longitude)
}
এখানে "requestWhenInUseAuthorization" মানে অ্যাপ ফোরগ্রাউন্ডে থাকাকালীন লোকেশন সার্ভিস ব্যবহার করার অনুমতি চেয়ে।
Step 6 − অ্যাপ্লিকেশন রান করুন ল্যাটিটিউড এবং লংগিটিউড পেতে, ফাইনাল কোড নিচে দেওয়া হলো।
import UIKit
import CoreLocation
class ViewController: UIViewController {
var locationManager = CLLocationManager()
override func viewDidLoad() {
super.viewDidLoad()
locationManager.requestWhenInUseAuthorization()
var currentLoc: CLLocation!
if(CLLocationManager.authorizationStatus() == .authorizedWhenInUse ||
CLLocationManager.authorizationStatus() == .authorizedAlways) {
currentLoc = locationManager.location
print(currentLoc.coordinate.latitude)
print(currentLoc.coordinate.longitude)
}
}
}