如何在向地图添加大量MKOverlay时停止加载闪烁

时间:2013-03-17 12:09:46

标签: iphone ios cocoa-touch mkmapview mapkit

have an app在地图上显示英国的自行车路径:

我发现,出于性能原因,我不得不将地图数据的提取拆分为切片。我使用NSOperationQueue一次获取一个图块,并将其显示在地图上。这大大提高了响应速度,然而,它引入了另一个问题,即地图有时会在每次添加一组叠加层时闪烁。

我在代码中没有做任何与众不同的事情。

[self.mapView addOverlays:overlays];  // On the main thread

...

if ([overlay isKindOfClass:[RSPathOverlay class]])
{
    RSPathOverlay* pathOverlay = (RSPathOverlay*) overlay;

    MKPolylineView* view = [[MKPolylineView alloc] initWithPolyline:overlay];

    view.strokeColor = [UIColor colorWithRed:0.3 green:0.3 blue:1.0 alpha:1.0];
    view.lineWidth = 4.3;

    return view;
}
  • 有时会导致闪烁的原因是什么?
  • 如何减少/消除闪烁?

我问this question on the dev forums,虽然有一些回答有类似的问题,但尚未找到好的解决方案。

1 个答案:

答案 0 :(得分:0)

我已经填写了有关该问题的错误报告。它只发生在IOS 6中而不发生在IOS 5中。