2010-07-05 38 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