1
使用核心位置iphone api來獲取一些位置。cllocationmanager - cllocation響應對象時間戳總是少於一秒鐘,爲什麼?
它工作正常,但有一件事困擾我。那些我回來,我計算出它們的「年齡」使用下面的代碼:
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
這是爲什麼?無疑,這是第一次,手機不僅僅是「發生」,每次都有不到一秒鐘的舊位置?
我在計算年齡時做錯了什麼?
我只是覺得奇怪的是,年齡總是*那個短的年齡。我現在有幾百個樣本大小,幾乎從不超過一秒。在Android上,您會收到大量較舊的響應。是的,我打印精確度也有點下降:)有時候它會變得更好,斯德哥爾摩的三角塔通常精度爲600-900米。但除非gps掛鉤或我在wifi上,否則三角測量通常不會變好。 – Mathias