问候!我正在尝试在没有任何 Apple 代码示例的情况下使用MKMapView,尽管还有其他一些不同的清晰度。(我知道,“阅读友好手册。”我已经做到了,但不是 100% 清楚,所以请耐心等待。)
这是情况。我有一个MKMapView对象,其中我添加了一组大约十个MKPinAnnotation对象。到现在为止还挺好。一切都被合理地分配/释放,并且似乎没有来自 Instruments 的任何投诉。
在初始显示时,我设置了一个MKCoordinateRegion对象,中心点位于我们的第一个引脚位置,(任意)跨度为 0.2 x 0.2。然后我打电话给:
[mapView setRegion:region animated:YES];
[mapView regionThatFits:region];
哇!效果很好。
同时......我还有一个分段控制,允许移动到每个引脚位置。因此,当我点击列表时,地图会通过一对新的setRegion:animated:和regionThatFits:调用来动画到每个新的 pin 位置……或者至少是这样。
虽然地图确实“移动”到新的大头针位置,但地图本身并不会在下方更新。相反,我在灰色/空白地图背景上看到了我的图钉……直到我向任何方向轻推地图,无论多么轻微。然后地图显示通过!(如果我只在前一个图钉位置的一小段距离内移动,我通常会看到地图的任何部分已经加载。)
我怀疑我在这里做了一些愚蠢的事情,但我无法弄清楚是什么,至少不是来自 MapKit 文档。也许我使用了错误的电话?(好吧,我确实需要至少设置一次区域,是吗?移动它似乎没有帮助。)我也尝试过使用setCenterCoordinate:animated: - 同样的问题。
我在这一点上没有任何假设(没有双关语)。只是想找到我的路。
欢迎/赞赏线索!
更新:调用setRegion:animated:和regionThatFits:第一次,然后是setCenterCoordinate:animated:在遍历列表时没有效果。不过有趣的发现:如果我在这两种情况下都将动画更改为 NO,则地图会更新!!!仅当它设置为 YES 时。(发生了什么?!动画:坏了?那不可能……???)