2010-10-15 51 views
1

在iPhone 4的室內。 WiFi禁用在Mapkit中檢查用戶的位置年齡 - MapKit用戶位置的GPS準確性明顯優於CLLocationManager?

運行LocateMe SDK示例或我自己的代碼30-60秒會產生2294米的水平精度。對於手機塔三角測量來說很不準確但合理。查看其他可以反轉地理編碼或像Foursquare這樣的位置的應用程序,顯示出類似的缺乏準確性。

但是,如果我切換到使用Mapkit的應用程序中的另一個視圖並檢查/顯示用戶位置,它就會顯示。我的意思是在地圖上精確的房子級別,我將與WiFi級別位置或強大的GPS讀取相關聯。

因此,我認爲Mapkit可能依賴於在我的設備上啓用WiFi時得出的緩存位置讀取。我在設置中關閉了位置服務。重新啓動Map應用程序將地圖從當前位置移開。退出重新啓用的位置服務。再次打開地圖應用程序 - 賓果右後衛與強大的位置閱讀。

據我所知,位置服務是系統級單例,意味着與我的CLLocationManager實例共享相同的數據與MapKit。我能想到的唯一的事情就是MapKit會更加寬鬆地緩存位置,關閉位置服務並不會在map.app啓動時清除它的緩存。

是否有人知道檢查MapKit中用戶位置的年齡的方法?我想進一步調查,即使它是我無法提供的無證電話或財產,我真的很想用它進行調試,以瞭解發生了什麼。

感謝

回答

3

您可以按如下方式訪問用戶的位置由MKMapView使用時間戳:

[[[mapView userLocation] location] timestamp]; 

時間戳是一個NSDate,它告訴你什麼時候確定這個位置。