CLLocation经理给我原来的位置

时间:2009-12-14 07:54:48

标签: iphone cllocationmanager

我使用CLLoction管理器来获取location.but什么时候我开始我的位置然后它给我oldlocation先前存储在设备中。我想在首次启动应用程序时使用newlocation重置此i used flag的位置调用stopupdateinglocation和startupdatinglocation方法。但是oldlocation没有改变它显示旧位置。

2 个答案:

答案 0 :(得分:6)

每个CLLocation都有一个timestamp属性,您可以使用该属性过滤所有过于陈旧的位置更新。

- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation
{
    NSTimeInterval age = [newLocation.timestamp timeIntervalSinceNow];
    if(age < SOME_CONSTANT_IN_SECONDS)
    {
        //Use location
    }
}

答案 1 :(得分:0)

您无法清除旧位置,但您可以检查horizo​​ntalAccuracy以了解这是一个好的位置(当前)还是旧的和不相关的。