2010-07-05 39 views
0

我知道很多人都有過類似的問題,有些人已經對他們進行了排序,有些人卻沒有對他們進行排序。基本上我需要一些刷新地圖的方式,即獲得mapViewDidFinishLoading的回調。如果顯示的位置已經被用戶看到,看起來地圖是從緩存中加載的,並且不會調用我需要它執行的mapViewDidFinishLoading,因爲這會觸發我的一些遊戲代碼。有誰知道如何做到這一點在iOS 3.1.2及以上? [[mapView reload]的一些細節(如果只是這麼簡單)。MKMapView在3.1.2及更高版本上重新加載/刷新

非常感謝

+0

你已經找到了問題的答案,但 -

使用,當我需要它下面的例更新? – mcphersonjr 2014-02-18 17:13:05

回答

0

我想地圖的加載由用戶拖動地圖,這樣你可以使用的MapView觸發:regionDidChangeAnimated:回調包括在其遊戲代碼。

+0

感謝您的幫助,不幸的是這是問題所在。地圖加載由連接到IBAction的按鈕觸發,該按鈕爲地圖提供要顯示的區域。我需要使用mapDidFinishLoading回調的原因是因爲我有一個只能在地圖完全加載時啓動的計時器。任何其他想法? 非常感謝 Jules – Jules 2010-07-05 15:44:58

+0

然後你可以使用mapViewWillStartLoadingMap:callback。如果mapViewDidFinishLoading沒有被調用,那麼我猜想那個不會被調用。 在mapView:regionDidChangeAnimated中啓動計時器,在mapViewWillStartLoadingMap中重新初始化它:並在mapViewDidFinishLoading中重新啓動它: 這是一個很好的解決方法嗎? – Charter 2010-07-06 07:15:00

+0

嗨,這不會工作,因爲任何地圖代理功能都沒有回電話。這隻發生在需要的位置已經在某個點上加載的時候,所以我真正需要做的是以某種方式重新加載地圖或以某種方式刷新緩存? 非常感謝 朱爾斯 – Jules 2010-07-06 18:11:07

0

不知道你是否仍然需要這個,但我有一個viewForOverlay類似的問題沒有被調用。實際上它最終被召喚出來,但爲了我所需要的而已經太晚了。

[self.map setVisibleMapRect:myMapRect]; 
+0

嗨,我做了這個,但它沒有幫助我的情況。最後,我改變了我的遊戲邏輯的工作方式,並不理想,但現在起作用。乾杯 – Jules 2010-09-09 09:22:21

+0

很高興你得到它的工作。 – clarky 2010-09-09 14:44:39