Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> IOS

จะรับตำแหน่งปัจจุบันละติจูดและลองจิจูดใน iOS ได้อย่างไร


แอปพลิเคชันเกือบทั้งหมดใช้บริการระบุตำแหน่ง ดังนั้นจึงจำเป็นต้องมีความเข้าใจอย่างถ่องแท้เกี่ยวกับตำแหน่ง ในโพสต์นี้ เราจะมาดูวิธีรับละติจูดและลองจิจูดของตำแหน่งปัจจุบัน

สำหรับสิ่งนี้ เราจะใช้ CLLocationManager คุณสามารถอ่านเพิ่มเติมได้ที่นี่https://developer.apple.com/documentation/corelocation/cllocationmanager

เรากำลังพัฒนาแอปพลิเคชันตัวอย่าง ซึ่งเราจะพิมพ์ละติจูดและลองจิจูดของผู้ใช้ด้วยวิธี viewDidLoad หรือพิมพ์ด้วยการแตะปุ่มบน UILabel ตามความต้องการ

มาเริ่มกันเลย

ขั้นตอนที่ 1 − เปิด Xcode → New Projecr → Single View Application → ตั้งชื่อมันว่า "Location"

ขั้นตอนที่ 2 − เปิดไฟล์ info.plist และเพิ่มคีย์ด้านล่าง

NSLocationWhenInUseUsageDescription

แอปพลิเคชันต้องการใช้ตำแหน่งของคุณ

NSLocationAlwaysUsageDescription

แอปพลิเคชันต้องการใช้ตำแหน่งของคุณ

จะรับตำแหน่งปัจจุบันละติจูดและลองจิจูดใน iOS ได้อย่างไร

สิ่งเหล่านี้จำเป็นเมื่อคุณทำสิ่งที่เกี่ยวข้องกับตำแหน่ง เราต้องขออนุญาตจากผู้ใช้

ขั้นตอนที่ 3 − ใน ViewController.swift

นำเข้า CoreLocation

ขั้นตอนที่ 4 − สร้างวัตถุของ CLLocationManager

var locationManager =CLLocationManager()

ขั้นตอนที่ 5 − ในเมธอด viewDidLoad ให้เขียนโค้ดด้านล่าง

locationManager.requestWhenInUseAuthorization()var currentLoc:CLLocation!if(CLLocationManager.authorizationStatus() ==.authorizedWhenInUse ||CLLocationManager.authorizationStatus() ==.authorizedAlways) { currentLoc =locationManager.location พิมพ์ (currentLoc.coordinate.latitude) พิมพ์ (currentLoc.coordinate.longitude)}

ที่นี่ “requestWhenInUseAuthorization” หมายถึงขออนุญาตใช้บริการตำแหน่งในขณะที่แอปอยู่เบื้องหน้า

ขั้นตอนที่ 6 - เรียกใช้แอปพลิเคชันเพื่อรับละติจูดและลองจิจูด ค้นหารหัสที่สมบูรณ์

นำเข้า UIKitimport CoreLocationclass ViewController:UIViewController { var locationManager =CLLocationManager () แทนที่ func viewDidLoad () { super.viewDidLoad () locationManager.requestWhenInUseAuthorization () var currentLoc:CLLocation! if (CLLocationManager.authorizationStatus () ==.authorizedWhenInUse || CLLocationManager.authorizationStatus () ==.authorizedAlways) { currentLoc =locationManager.location พิมพ์ (currentLoc.coordinate.latitude) พิมพ์ (currentLoc.coordinate.longitude) } }}