-1

多年来,我一直在使用 Mapkit 和 CoreLocation 框架的应用程序中使用此代码:

   if ((abs(howRecent) < 5.0) && ((newLocation.horizontalAccuracy > 0.0f &&
    newLocation.horizontalAccuracy < 150.0f))  )

但是,出于以下原因,我有第二个想法:

  1. 我打算将此测试用于第一次位置更新,因为我们在第一次尝试时获得了旧更新。现在每次更新都会检查这个
  2. 位置感知编程指南第 14 页仅提供以下检查:

    如果 (abs(howRecent) < 15.0) {

  3. 编程指南并没有提到水平精度,即使它在 CLLocation 类定义中

检查准确性和时间是否过于谨慎?我会很感激你的意见,即使它运作良好,如果我的代码抛出一些有效的位置更新,我不会知道它。顺便说一句,我的应用程序支持 ios 4.3 到 6,我从版本 3 开始编写并在版本 4 上进行了更新。感谢您的回复。

4

1 回答 1

1

我建议您查看以下内容:

- (void)locationManager:(CLLocationManager*)manager didUpdateLocations:(NSArray *)locations
{
    CLLocation *loc2 = [[CLLocation alloc] init];
    loc2 = [locations lastObject];

然后,您只处理报告的最后一个位置。如果您随后需要特定的水平精度 - 请同时检查

于 2013-08-23T21:07:05.650 回答