我目前正在开发一款使用CLLocationManager且精度最低的应用程序(kCLLocationAccuracyThreeKilometers)。但是,每隔几分钟我需要获得一个准确的用户位置,因此我在计时器到期时将精度设置为kCLLocationAccuracyBest。
显然,CLLocationManager开始更新位置,从不准确的位置到更准确的位置。但问题是,我不知道如何检测何时达到最佳位置精度,所以我不知道何时有最佳位置可供使用。
有人知道这个问题的解决方案吗?非常感谢。
答案 0 :(得分:7)
在CLLocationManagerDelegate
方法locationManager:didUpdateLocations:
中查看horizontalAccuracy
的CLLocation
。这将为您提供以米为单位的半径。
如文件中所述:
位置的不确定半径,以米为单位。 (只读)
位置管理员将继续尽可能获得最佳准确度,因此您必须确定位置何时足够准确。
答案 1 :(得分:2)
Apple在示例项目“LocateMe”中详细实现了类似的功能。在这里查看来自LocateMe的GetLocationViewController:https://developer.apple.com/library/ios/samplecode/locateme。