animationMKOverlayView

我有一个MKOverlayView,将animation雷达数据显示为一系列图像。 我遇到的问题是,MapKit将雷达图像切成瓦片。 要交换图像我有一个计时器,调用一个更新函数,设置我的覆盖图中的当前图像,然后调用以下内容

[myRadarOverlayView setNeedsDisplayInMapRect:self.mapView.visibleMapRect]; 

覆盖更新,但一次一个瓷砖,所以我得到一个波涛汹涌的animation。 任何关于如何使所有的瓷砖animation(即交换图像)在同一时间的想法?

我通过添加一个UIImageView作为MKOverlayView的子视图来解决这个问题。

  • 使用普通的drawMapRect:zoomScale:inContext :(通过一个实例variables/属性标志)停止绘制,然后绘制到UIImageView(对于animationImages属性),然后使用startAnimating。

  • 您可以通过响应mapView:regionDidChangeAnimated:重新初始化UIImageView来处理平移和缩放。

所有瓷砖加载完成后是否有callback? 如果是这样,你可以去双缓冲,并更新屏幕外的视图,然后将其切换。