当准确度提高时,是否存在CoreLocation通知或委托方法?

时间:2015-01-14 16:09:23

标签: ios cocoa-touch core-location

如果你看一张地图,精度半径开始变大,然后随着变得更准确而变小。但是locationManager:didupdateLocations:当更改时不再被调用。

那个事件有没有被调用的东西?

3 个答案:

答案 0 :(得分:0)

我相信在更新准确性时,实际上会再次调用didUpdateLocations:回调。根据这个Apple docs on Core Location

  

除了位置对象的时间戳,您还可以使用   该对象报告的准确度,以确定您是否愿意   接受一个事件。因为它接收更准确的数据,位置   服务可以返回具有准确度值的附加事件   相应地反映了改进。投掷不太准确   事件意味着您的应用程序浪费的时间较少,无法使用的事件   无论如何有效。

您尝试过哪种测试来提高准确性?你在iPhone上试过吗?您是否正确设置了委托和desiredAccuracy属性?

答案 1 :(得分:0)

如果您提供以下代码,您将获得非常频繁的位置更新。

self.locationManager.desiredAccuracy = kCLLocationAccuracyBestForNavigation;

但根据Apple的说法,建议在位置管理器处于活动状态时将充电器插入iOS设备。这是因为在获得这么多位置更新的同时,电池电量会快速耗尽。

CLLocationManager还有其他级别的准确性(kCLLocationAccuracyBestForNavigation,kCLLocationAccuracyBest,kCLLocationAccuracyKilometer,kCLLocationAccuracyHundredMeters等。)

答案 2 :(得分:0)

  

那个事件有没有被调用的东西?

没有。您继续获得相同的回调,但每个位置的准确性(可能)得到改善。 “精确度提高”没有回调。

您在回调中收到的CLLocation包含垂直和水平精度信息。