【发布时间】:2011-09-15 12:40:48
【问题描述】:
使用核心位置 iphone api 获取一些位置。
它工作正常,但有一件事让我感到困惑。我回来的那些,我使用以下代码计算他们的“年龄”:
NSDate *eventDate = newLocation.timestamp;
NSTimeInterval locationAge = -[eventDate timeIntervalSinceNow];
然后我使用以下方法打印年龄:
NSLog(@"didupdateToLocation! lat: %f, lon: %f, accuracy: %f, age: %f", newLocation.coordinate.latitude, newLocation.coordinate.longitude, newLocation.horizontalAccuracy, locationAge);
在我的输出中,年龄总是小于一秒。日志示例:
2011-09-15 14:31:40.417 Nuba[1393:707] didupdateToLocation! lat: 59.340484, lon: 18.052089, accuracy: 816.373281, age: 0.055586
2011-09-15 14:31:40.495 Nuba[1393:707] didupdateToLocation! lat: 59.340484, lon: 18.052089, accuracy: 816.373281, age: 0.125578
2011-09-15 14:31:40.565 Nuba[1393:707] didupdateToLocation! lat: 59.340477, lon: 18.051996, accuracy: 999.848989, age: 0.019127
这是为什么?肯定是第一次,手机不是每次都“碰巧”缓存不到一秒的旧位置吗?
我在计算年龄时做错了吗?
【问题讨论】:
标签: iphone location core-location cllocationmanager