使用CLLocationManager检测何时达到最佳位置精度

时间:2013-08-29 12:51:47

标签: ios core-location cllocationmanager cllocation

我目前正在开发一款使用CLLocationManager且精度最低的应用程序(kCLLocationAccuracyThreeKilometers)。但是,每隔几分钟我需要获得一个准确的用户位置,因此我在计时器到期时将精度设置为kCLLocationAccuracyBest。

显然,CLLocationManager开始更新位置,从不准确的位置到更准确的位置。但问题是,我不知道如何检测何时达到最佳位置精度,所以我不知道何时有最佳位置可供使用。

有人知道这个问题的解决方案吗?非常感谢。

2 个答案:

答案 0 :(得分:7)

CLLocationManagerDelegate方法locationManager:didUpdateLocations:中查看horizontalAccuracyCLLocation。这将为您提供以米为单位的半径。

如文件中所述:

  

位置的不确定半径,以米为单位。   (只读)

位置管理员将继续尽可能获得最佳准确度,因此您必须确定位置何时足够准确。

答案 1 :(得分:2)

Apple在示例项目“LocateMe”中详细实现了类似的功能。在这里查看来自LocateMe的GetLocationViewController:https://developer.apple.com/library/ios/samplecode/locateme