1

我有一個iOS應用程序,其中Im在應用程序啓動時加載MKMapView。我想將「MKCoordinateRegion」的中心設置爲用戶的緯度/經度。但是,在加載MKMapView之後,CLLocation Manager實例不會更新用戶位置。MKMapView在LocationManager之前獲取用戶位置 - 無法將Region設置爲以用戶位置爲中心

現在我很難將地圖中心座標編碼到應用程序中。但我想知道是否有人可以提出更好的方法來處理這種情況。

我能想到的方法2,但我不是在其中一個風扇:

1)失速使用activityindicator 2)用硬編碼位置啓動的MKMapView,然後儘快啓動的MKMapView用戶位置是可用動畫的地圖視圖區域中心在該位置

任何建議?

回答

0

做Apple做的。開始真的很小,可以在屏幕上放置一條消息「掃描位置」,然後當位置信息可用時放大。

+0

你可以給我一個使用這種方法的應用程序的例子嗎?謝謝 – banditKing 2013-02-14 20:04:29

+0

蘋果的地圖程序確實是放大了的東西。 「掃描地點」是我的補充,因爲您表示您提出了一個活動指標,我認爲最好告訴用戶您正在指示什麼活動。 – Craig 2013-02-14 21:49:43

+0

啊,我明白了。好的我明白了。謝謝。我喜歡這種方法。 – banditKing 2013-02-14 21:52:18

1

當您轉到後臺或關閉應用程序時,存儲上次已知的緯度/經度。
在開始中心地圖視圖到最後一個已知位置。
只要位置管理器發送更新的位置,就更新地圖中心。

1

mapview的屬性設置爲MKUserTrackingModeFollow。你不需要位置管理員,mapView就是爲你做的。當您稍後要重新定位地圖時,請將該屬性設置爲MKUserTrackingModeNone,然後重新定位您的地圖。