5

我想使用可靠的位置,即使是在旧 iPhone 上。但是,许多读数(尤其是来自手机信号塔的读数)太不准确了。我认为。

当我绘制我的位置 + 精度半径(或查看谷歌地图应用程序)时,我注意到估计圆的中心通常靠近我的实际位置。我猜如果我将“准确度”数字减半,我仍然有 99% 的时间在圈子里。

我相信这是一个概率游戏——位置经理试图提供一个在 99.99999% 的时间里都是正确的估计,所以他们故意给出一个很大的余量。有什么想法/信息吗?

4

2 回答 2

3

CoreLocation 框架为您提供使用 Horizo​​ntalAccuracy/verticalAccuracy 属性获得的每个 CLLocation 的圆的半径。您可以为 CLLocationManager 指定一个使用这些类型的 desiredAccuracy 属性:

kCLLocationAccuracyNearestTenMeters, kCLLocationAccuracyHundredMeters, kCLLocationAccuracyKilometer, kCLLocationAccuracyThreeKilometers;

因此,当您进入所需范围时,您会收到通知。也就是说,当您使用 CLLocationManager 时,第一个事件会尽快提供给您,然后是满足您条件的事件。

于 2009-07-29T05:36:06.400 回答
0

当您使用 CoreLocation 时,您会得到越来越好的“答案”。我注意到“最佳”答案几乎总是准确到 100m 以内,因此理论上您可能会减少通常给予的“缓冲区”。然而,真正知道的唯一方法,这就是我会做的,是测试测试测试。查找各代的 iphone 和 ipod,查看您获得的准确度类型以及您获得的结果类型。在很多方面,这取决于您正在制作的应用程序的类型,但如果您想根据用户的位置传递敏感或重要信息,您应该真正等待框架为您提供几乎准确的位置。

于 2009-07-29T02:25:51.290 回答