我使用 CLLoction 管理器来获取位置。但是当我开始我的位置时,它会给我以前存储在设备中的旧位置。我想为此重置位置我在第一次启动应用程序时使用了标志我使用了 newlocation 并调用 stopupdateinglocation 和startupdatinglocation 方法。但是 oldlocation 没有改变它显示旧位置。
问问题
3320 次
2 回答
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
}
}
于 2009-12-14T08:19:01.003 回答
0
您无法清除旧位置,但您可以检查 HorizontalAccuracy 以了解这是一个好的位置(当前)还是旧的和不相关的位置。
于 2009-12-14T08:13:53.060 回答