如何解决如何在IOS Swift中获取准确的当前位置坐标纬度/经度
我在IOS Swift中使用CoreLocation获取当前坐标,但在某些情况下,它使我最接近所需位置,而有时坐标距我的给定地址数米。请检查我正在使用的代码,是否还有其他方法可以获取准确的当前位置坐标??
我的代码是:
import CoreLocation
var locationManager:CLLocationManager!
var userLat = 0.0
var userLong = 0.0
override func viewDidLoad() {
super.viewDidLoad()
self.locationManager = CLLocationManager()
self.locationManager.delegate = self
self.locationManager.desiredAccuracy = kCLLocationAccuracyBest
self.locationManager.requestAlwaysAuthorization()
if CLLocationManager.locationServicesEnabled(){
self.locationManager.startUpdatingLocation()
}
}
func locationManager(_ manager: CLLocationManager,didUpdateLocations locations:
[CLLocation]) {
guard let userLocation :CLLocation = locations.first else{return}
userLat = userLocation.coordinate.latitude
userLong = userLocation.coordinate.longitude
//current location
print("current location latitude is :%@",userLat)
print("current location longitude is :%@",userLong)
}
func locationManager(_ manager: CLLocationManager,didFailWithError error: Error) {
print(Error: \(error)")
}
请帮助我一段时间,当前位置准确无误,有时位置太远了。谢谢
解决方法
假设您的应用程序的用户允许您使用精确的位置,那么您仍然需要考虑以下事实:所提供的位置仅与硬件可以提供的位置一样准确。系统需要一些时间才能准确定位该位置,随着系统预热,您可能会看到多次致电didUpdateLocations
。
您可以在horizontalAccuracy
上使用verticalAccuracy
和CLLocation
来决定如何进行职位更新。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。