2013-02-18 108 views
1

我使用此代碼來獲取經度和緯度。ios CLLocationManager didUpdateToLocation經緯度偏移

(void)locationManager:(CLLocationManager *)manager 
    didUpdateToLocation:(CLLocation *)newLocation 
     fromLocation:(CLLocation *)oldLocation { 
    NSLog(@"%f",newLocation.coordinate.latitude); 
    self.location = newLocation; 
} 

但我得到的經度和緯度有與實際地理位置的遊覽。如何解決這個問題呢?

+1

我不明白這個問題。你能解釋一下你的期望嗎? – 2013-02-18 04:44:01

+0

我想獲得經度和緯度。但它具有實際地理位置的遊覽。我怎麼能得到準確的位置? – DaringLi 2013-02-18 05:18:46

回答

1

您應該測試返回的CLLocation對象的準確性,並確保它符合您的位置準確度標準。

if (newLocation.horizontalAccuracy > 1000) { 
    // Throw away this location and wait for another one as this is over 1km away 
} 

此外,locationManager:didUpdateToLocation:fromLocation:方法已在iOS6的棄用,所以你應該使用locationManager:didUpdateLocations:如果你靶向iOS6的+。

+0

如果我兼容5或6.如何編寫代碼? – bonnie 2013-02-22 02:15:55

+0

您需要測試以查看該類是否支持使用'respondsToSelector:'方法的方法 - 請參閱https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Protocols/NSObject_Protocol/Reference/ NSObject.html#// apple_ref/occ/intfm/NSObject/respondsToSelector:獲取更多信息。 – rickerbh 2013-02-22 02:44:08