开发者

CLLocation manager Gives me old position

i used CLLoction manager to get location.b开发者_运维问答ut when ever i start my location then it gives me oldlocation which is store in device previously.i want to reset the location for this i used flag on first launch of application i used newlocation and call stopupdateinglocation and startupdatinglocation method.But oldlocation is not changed it show old location.


Every CLLocation has a timestamp property that you can use to filter all location updates that are too old for your usage.

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


You can't clear the old location, but you can check the horizontalAccuracy to know if this is a good location (current) or something old and irrelevant.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜