MKMapView和setRegion:animated:不更新地图视觉效果

Joe*_*rea 5 mapkit iphone-sdk-3.0 android-mapview

问候!我试图在没有任何Apple代码示例的情况下使用MKMapView,尽管还有其他一些不同的清晰度.(我知道,"阅读友好的手册."我已经做到了,但并非100%明确,所以请耐心等待.)

这是情况.我有一个MKMapView对象,其中我添加了一组大约十个MKPinAnnotation对象.到现在为止还挺好.一切都得到了很好的分配/释放,似乎没有任何来自仪器的投诉.

在初始显示时,我设置了一个MKCoordinateRegion对象,其中心点位于我们的第一个引脚位置,并且(任意)跨度为0.2 x 0.2.然后我打电话给:

[mapView setRegion:region animated:YES];
[mapView regionThatFits:region];
Run Code Online (Sandbox Code Playgroud)

哇!这很好用.

同时......我还有一个分段控制,允许移动到每个引脚位置.因此,当我点击列表时,地图会动画到每个新的引脚位置,并使用一对新的setRegion:animated:regionThatFits: ...或者至少是这个想法.

当地图"移动"到新的引脚位置时,地图本身不会在下面更新.相反,我看到我的图钉在灰色/空白地图背景上... 直到我向任何方向轻推地图,不过有点轻微.然后地图显示通过!(如果我只是在前一个引脚位置的一小段距离内移动,我通常会看到地图的任何部分已经加载了.)

我怀疑我在这里做了一些愚蠢的事,但我无法弄清楚什么,至少不是来自MapKit文档.也许我正在使用错误的电话?(好吧,我确实需要设置该区域至少一次,是吗?移动它似乎没有帮助.)我也尝试过使用setCenterCoordinate:animated: - 同样的问题.

我现在什么都不做(没有双关语).只是想找到自己的方式.

线索欢迎/赞赏!

更新:调用setRegion:animated:regionThatFits:第一次,然后是setCenterCoordinate:animated:在遍历列表时,没有任何效果.有趣的发现:如果我在两种情况下都将动画更改为NO,则地图会更新!!! 只有当它设置为YES时.(什么时候发生?!动画:破碎了?那不可能...... ???)

Joe*_*rea 7

事实证明,使用SIMULATOR时地图更新不起作用.当我在设备上尝试setCenterCoordinate:animated:时,我确实得到了下面的地图更新.

结论:我相信模拟器在地图更新行为方面与设备相匹配.唉,我错了!学过的知识."不要让这件事发生在你身上." :)