我尝试编译此示例:
https://www.appcoda.com/how-to-get-current-location-iphone-user/
由于是iOS开发编程的新手,并且此示例很旧,所以我无法编译它。任何人都可以编译该示例以使用最新的Xcode版本并将其上传到此处进行检查吗?
答案 0 :(得分:0)
我认为您要问的是获取用户的位置并将其转换为附近的街道地址。
获取用户的位置
1。。首先,声明以下内容:
let locationManager = CLLocationManager()
2。。然后,在您的viewDidLoad()
中放入:
// Requesting authorization from the user
self.locationManager.requestAlwaysAuthorization()
// For use in foreground
self.locationManager.requestWhenInUseAuthorization()
if CLLocationManager.locationServicesEnabled() {
locationManager.delegate = self
locationManager.desiredAccuracy = kCLLocationAccuracyNearestTenMeters
locationManager.startUpdatingLocation()
}
3。。然后,转到Xcode中的Info.plist
文件,并添加密钥Privacy - Location When In Use Usage Description
,并将其值作为需要用户位置的说明:
4。。将CLLocationManagerDelegate
添加到您的班级。
5。。通过这种方法,获取用户的位置:
func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
guard let locValue: CLLocationCoordinate2D = manager.location?.coordinate else { return }
print("locations = \(locValue.latitude) \(locValue.longitude)")
}
将经纬度转换为地址
为此,我不会为您提供完整的教程。但是,我将向您介绍Google Maps API或OpenStreetMap API。使用这些API,您可以输入纬度和经度,它将返回一个地址。