问候!我试图使用的MKMapView 没有任何苹果的代码示例,但也有少数人在那里不同的清晰度。 (我知道,“阅读友好手册。”我已经做了,但它不是100%清晰,所以请多多包涵在这一个。)

这里的情况。我有一个的的MKMapView 对象,其特征在于,我已经增加了一组约10的 MKPinAnnotation 对象。到现在为止还挺好。一切alloced /三立释放并且似乎没有被从仪器的投诉。

在初始显示,我设置了一个的 MKCoordinateRegion 使用在我们的第一销位置中心点对象,以及0.2×0.2(任意)跨度。然后调用:

[mapView setRegion:region animated:YES];
[mapView regionThatFits:region];

哇!这种运作良好。

...同时我也有一个分段的控制,以允许移动到每个引脚位置。因此,正如我通过列表挖掘,映射到动画每个新销位置与一对新的呼叫为 setRegion:动画:和<强> regionThatFits: ...或至少这是想法。

虽然地图确实“旅行”到新的销的位置,在地图本身不下方更新。相反,我看到我的脚在灰色/空白图背景... 直到的我轻移在任何方向上的地图,但略有下降。然后地图显示通过! (如果我只先前引脚位置的一个短的距离内移动,我将通常看到无论地图的一部分已经加载。)

我怀疑我做了愚蠢的事情在这里,但我一直没能到什么,至少不是从MapKit文档弄清楚。也许我用错了电话? (哦,我需要设置区域至少一次,是移动周围似乎并没有帮助,但?)我一直在使用的 setCenterCoordinate也试过:动画: - 同样的问题

我假定没有在这一点上(没有双关语意)。只是想找到我的路。

欢迎/理解的

线索!

UPDATE:调用的 setRegion:动画:和<强> regionThatFits:第一次,随后的 setCenterCoordinate:动画:在遍历列表中,具有没有效果。有趣的发现是:如果我在这两种情况下改变动画为NO,地图更新!只有当它被设置为YES。 (WHA发生?是动画:破这不可能是... ???)

有帮助吗?

解决方案

事实证明,使用仿真时的地图更新不起作用。当我尝试 setCenterCoordinate:动画:在设备上后,我的的获取地图更新下面

底线:我信任模拟器到装置中的地图更新行为方面相匹配。唉,我错了!学过的知识。 “不要让这发生在你身上。” :)

其他提示

您需要调用在主线程上下文setRegion:animated:电话。 只是这样做:

....
[self performSelectorOnMainThread:@selector(updateMyMap) withObject:nil waitUntilDone:NO];

}

-(void) updateMyMap {
    [myMap setRegion:myRegion animated:YES];    
}

和它应该在任何情况下工作(动画与否),与地图下方更新。

坎奇怪。即使是在模拟器我的Mac上的地图更新。也许网络设置(代理或其他),将阻止地图工具下载仿真器上的瓷砖?

尽管这是一个老话题,我想我会打电话与我的经验。这似乎在地图动画不仅不能在运行iOS 3.1.X和模拟器运行3.1.x.设备我与3.1.3开发的iPod touch无法放大,如果动画上。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top