如何在 iOS 中获取当前位置的经纬度?
几乎所有应用程序都使用定位服务,因此全面了解定位是必要的。在这篇文章中,我们将了解如何获取当前位置的经纬度。
为此,我们将使用 CLLocationManager,您可以在此处阅读更多相关信息https://developer.apple.com/documentation/corelocation/cllocationmanager
我们将开发一个示例应用程序,在其中我们将用户经纬度打印在 viewDidLoad 方法中,或者根据需要在 UILabel 上点击按钮时打印。
所以让我们开始吧,
步骤 1 − 打开 Xcode → 新建项目 → 单视图应用程序 → 让我们将其命名为“Location”
步骤 2 − 打开 info.plist 文件并添加以下键。
<key>NSLocationWhenInUseUsageDescription</key>
<string>应用程序想要使用您的位置</string>
<key>NSLocationAlwaysUsageDescription</key>
<string>应用程序想要使用您的位置</string>
每当您进行与位置相关的操作时,都需要这些键,我们需要询问用户的权限。
步骤 3 − 在 ViewController.swift 中,
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) } } }
广告