我正在尝试从GPS检索数据,但它并不那么准确。这是屏幕截图:



与模拟器上的GPS仿真一起使用时效果很好。我想知道如何改善这一点。

这是我尝试的代码:

    UserLocation = [[CLLocationManager alloc] init];
#if __IPHONE_OS_VERSION_MIN_REQUIRED >= 60000
    [UserLocation setPausesLocationUpdatesAutomatically:NO];
    [UserLocation setActivityType:CLActivityTypeFitness];
#endif
   UserLocation.delegate = self;
    [UserLocation setDistanceFilter:kCLDistanceFilterNone];
    [UserLocation setDesiredAccuracy:kCLLocationAccuracyBestForNavigation];
    [UserLocation startUpdatingLocation];

然后我每秒检索一次数据,并检查它是否与前一个数据不同。

最佳答案

里克·佩罗特(Ric Perrott)认为GPS数据永远不可能始终保持100%准确是正确的。我建议您将精度设置为kCLLocationAccuracyBest,根据Apple的说法,它是您要尝试执行的正确设置。

为了尝试过滤掉您遇到的一些“跳跃”现象,我建议平均阅读。例如,取X位数的GPS读数(5或10或...),然后取平均值。这样可以消除设备偶尔出现的不正确读数。

我前一段时间写了一个健身步行应用,遇到了类似的问题。平均并不能完全解决问题,但确实可以解决很多问题。

关于iphone - iOS GPS数据问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17812972/

10-12 03:20