问候!我试图在没有任何Apple代码示例的情况下使用MKMapView,尽管还有其他一些其他的清晰度不同。 (我知道,“阅读友好的手册”,我已经这样做了,但它不是100%清楚的,所以请耐心等待。)MKMapView和setRegion:动画:不更新地图视觉
这是情况。我有一个MKMapView对象,其中我已经添加了一组约10个对象。到现在为止还挺好。所有东西都会被理解/发布,并且似乎没有任何来自乐器的投诉。
初始显示时,我建立了一个MKCoordinateRegion对象,其中心位于我们的第一个针位置,并且(任意)跨度为0.2 x 0.2。然后我打电话:
[mapView setRegion:region animated:YES];
[mapView regionThatFits:region];
哇!这很好。
同时...我也有一个分段控制,允许移动到每个引脚位置。所以当我点击列表时,地图通过一对setRegion:动画:和regionThatFits: ......或者至少这是这个想法,对每个新的针位置进行动画处理。
虽然地图不会“移动”到新的针位置,但地图本身不会在下面更新。相反,我看到我的销在灰色/空白地图背景上...... 直到我轻轻地将地图向任何方向微调。然后地图显示通过! (如果我只在前一个引脚位置的很短距离内移动,通常我会看到地图的任何部分已经加载。)
我怀疑我在这里做了一些愚蠢的事情,但我没有'我们能够弄清楚什么,至少不是来自MapKit文档。也许我使用了错误的电话? (嗯,我确实需要设置区域至少一次,是的?但移动这似乎没有帮助。)我也尝试使用setCenterCoordinate:animated: - 同样的问题。
我在这一点上没有任何假设(没有双关意图)。试图找到我的路。
线索欢迎/赞赏!
UPDATE:调用setRegion:动画:和regionThatFits:第一次,其次是setCenterCoordinate:动画:在遍历列表中,没有任何效果。有趣的发现虽然:如果我在这两种情况下更改动画为NO,地图更新!只有当它被设置为YES时。 (哇发生?!是动画:坏了吗?那不可能是...... ???)
谢谢!我只是试过这个,而且......它的工作原理。但是,然后我发现它的工作原理没有进行这个调用。那么改变了什么?那么,事实证明,使用SIMULATOR时地图更新不起作用。当我在设备上尝试时,我会在下面看到地图更新。所以我相信模拟器在地图更新行为等方面与设备相匹配。唉,我错了!学过的知识。 – 2009-07-28 12:12:50
3.1上有类似的问题。这种方法并不能帮助我。我的话题在那里:http://stackoverflow.com/questions/1190270/mkmapview-refresh-after-pin-moves – slatvick 2009-10-07 22:57:51