CLLocationManager确保iphone的最佳准确性

时间:2009-08-14 13:59:29

标签: iphone objective-c cllocation

有没有人对如何在位置管理器上获得最佳水平精度有任何建议?我已经将所需的精度设置为NearestTenMeters,但考虑到精度总是会根据覆盖区域而改变,我怎样才能在locationManager中编写一些代码,以便在获得最佳水平精度后才停止更新?

2 个答案:

答案 0 :(得分:1)

如果您希望它达到一定的准确度,请设置委托方法

- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation

拥有

if(newLocation.horizontalAccuracy <= (some number) )
    [locationManager stopUpdatingLocation];

类似的东西。

答案 1 :(得分:0)

通常硬件开启的时间越长,获得的位置越多,获得的准确度就越高。您可以尝试尽早启用管理器以使其准确,然后抓住位置。当目标移动时,它也有帮助,当gps移动时,芯片能够获得更准确的读数。此外,设备的位置会产生差异,如果你在场外,你会得到更好的读数,而不是你在沙坑里,所以有时你得到的读数是最好的。您的代码可以等到它从位置管理器获取更新更新一段时间,然后它可能处于最佳准确度。