Computer >> Máy Tính >  >> Lập trình >> IOS

Làm cách nào để lấy vĩ độ và kinh độ vị trí hiện tại trong iOS?

Hầu như tất cả các ứng dụng đều sử dụng các dịch vụ định vị, do đó cần phải có sự hiểu biết đầy đủ về vị trí. Trong bài đăng này, chúng ta sẽ xem cách lấy kinh độ và vĩ độ của vị trí hiện tại.

Đối với điều này, chúng tôi sẽ sử dụng CLLocationManager, bạn có thể đọc thêm về nó tại đâyhttps://developer.apple.com/documentation/corelocation/cllocationmanager

Chúng tôi sẽ phát triển một ứng dụng mẫu trong đó chúng tôi sẽ in vĩ độ và kinh độ của người dùng trên phương thức viewDidLoad, hoặc bạn có thể in khi chạm vào một nút cũng trên UILabel nếu cần.

Vì vậy, hãy bắt đầu,

Bước 1 - Mở Xcode → Projecr mới → Ứng dụng một lần xem → Đặt tên là “Vị trí”

Bước 2 - Mở tệp info.plist và thêm các khóa bên dưới.

NSLocationWhenInUseUsageDescription

Ứng dụng muốn sử dụng vị trí của bạn

NSLocationAlwaysUsageDescription

Ứng dụng muốn sử dụng vị trí của bạn

Làm cách nào để lấy vĩ độ và kinh độ vị trí hiện tại trong iOS?

Đây là những điều bắt buộc bất cứ khi nào bạn làm những việc liên quan đến vị trí, chúng tôi cần phải xin phép người dùng.

Bước 3 - Trong ViewController.swift,

 nhập CoreLocation 

Bước 4 - Tạo một đối tượng CLLocationManager

 var locationManager =CLLocationManager () 

Bước 5 - Trong phương thức viewDidLoad, hãy viết đoạn mã dưới đây,

 locationManager.requestWhenInUseAuthorization () var currentLoc:CLLocation! if (CLLocationManager.authorizationStatus () ==.authorizedWhenInUse || CLLocationManager.authorizationStatus () ==.authoratedAlatization location printManager.location print (currentLoc.coosystem.longitude)} 

Ở đây “requestWhenInUseAuthorization” có nghĩa là Yêu cầu quyền sử dụng dịch vụ vị trí trong khi ứng dụng đang ở chế độ nền.

Bước 6 - Chạy ứng dụng để lấy vĩ độ và kinh độ, Tìm mã Hoàn thành

 nhập UIKitimport CoreLocationclass ViewController:UIViewController {var locationManager =CLLocationManager () ghi đè func viewDidLoad () {super.viewDidLoad () locationManager.requestWhenInUseAuthorization () var currentLoc:CLLocation! if (CLLocationManager.authorizationStatus () ==.authorizedWhenInUse || CLLocationManager.authorizationStatus () ==.authorizedAlways) {currentLoc =locationManager.location print (currentLoc.coosystem.latitude) print (currentLoc.coosystem}