如果你看一张地图,精度半径开始变大,然后随着变得更准确而变小。但是locationManager:didupdateLocations:当更改时不再被调用。
那个事件有没有被调用的东西?
答案 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
包含垂直和水平精度信息。