लगभग सभी एप्लिकेशन लोकेशन सर्विसेज का उपयोग करते हैं, इस प्रकार लोकेशन पर पूरी समझ होना आवश्यक है। इस पोस्ट में हम देखेंगे कि वर्तमान लोकेशन की लैटीट्यूड और लॉन्गिट्यूड कैसे प्राप्त करें।
इसके लिए हम CLLocationManager का उपयोग करेंगे, आप इसके बारे में यहाँ और पढ़ सकते हैं: https://developer.apple.com/documentation/corelocation/cllocationmanager
हम एक सैंपल एप्लिकेशन विकसित करेंगे जहां हम यूजर की लैटीट्यूड और लॉन्गिट्यूड को viewDidLoad मेथड में प्रिंट करेंगे, वैकल्पिक रूप से आप बटन पर टैप करने पर या UILabel पर भी प्रिंट कर सकते हैं।
शुरुआत करते हैं
चरण 1: प्रोजेक्ट बनाएं
Xcode खोलें → New Project → Single View Application → नाम दें "Location"
चरण 2: Info.plist में कीज़ जोड़ें
info.plist फाइल खोलें और नीचे दी गई कीज़ जोड़ें।
<key>NSLocationWhenInUseUsageDescription</key>
<string>Application wants to use your location</string>
<key>NSLocationAlwaysUsageDescription</key>
<string>Application wants to use your location</string>

जब भी आप लोकेशन से संबंधित कार्य कर रहे हों तो ये आवश्यक हैं, हमें यूजर की परमिशन मांगनी होगी।
चरण 3: CoreLocation इम्पोर्ट करें
import CoreLocation
चरण 4: CLLocationManager ऑब्जेक्ट बनाएं
var locationManager = CLLocationManager()
चरण 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" का अर्थ है ऐप के फोरग्राउंड में होने पर लोकेशन सर्विसेज का उपयोग करने की परमिशन रिक्वेस्ट करना।
चरण 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)
}
}
}