2009-12-15 48 views
1

用戶第一次嘗試使用當前位置時,map.userslocation屬性的座標爲0,0。下次我加載包含地圖的視圖時,總是會找到用戶的位置。允許應用程序使用當前位置後,mkmapview.userslocation屬性設置爲0,0

我在viewDidLoad上將map.showsUserLocation屬性設置爲YES,當地圖加載到屏幕上時,藍色圓點在那裏,但是當我嘗試使用map.userlocation.coorinate獲取座標時,它們是0,0。

程序流轉 - (無效)viewDidLoad中: 1)設置showUserLocation爲YES 2)設置一個計時器來調用一個方法6秒後從map.userLocation屬性抓住用戶位置

- (無效)getUsersLocation 1)打印出用戶的位置

這個過程的偉大工程的第一次後,我加載視圖,但第一次的視圖laoded和用戶授予權限,使用他們的位置座標回來0,0

任何人都有任何想法,爲什麼會發生這種情況,我怎麼能解決它?

謝謝!

回答

2

,而不是武斷地等待六秒,你應該實現CLLocationManagerDelegate並注意到當

locationManager:didUpdateToLocation:fromLocation: 

叫給你的第一位置更新,這可能需要比這更多或更少的時間。

1

大衛是對的,但我注意到我有時會用0,0的位置來調用這個方法。除非您認爲您的應用可能在非洲西海岸使用,否則您應該忽略任何此類呼叫。

相關問題