1

我正在创建一个地图应用程序,其中我正在显示 MKPolylineView(大约 2000 年)和带有 pin drop 的 MKAnnotations。

我想一次显示一组 MKPolylineViews 或 MKannotations。我用 2 个按钮管理它,一个按钮用于显示 MKPolylineViews 集,另一个按钮用于显示 MKAnnotations 集。所以我尝试了 2 种方法来管理这种情况,如下所示:

对于 MKAnnotations,我将其删除并再次添加。对于 MKPolylineViews,我尝试了 2 种方法:

  • 我试图将所有 MKPolylineViews 隐藏为 YES 和 NO 以根据按钮单击来管理它的可见性。在这种情况下,当我使 MKPolylineViews 从其隐藏状态可见时,并非所有 MKPolylineView 都是可见的。我尝试了 alpha 和 hidden 属性。在这两种情况下,结果都是一样的,并不是所有的线都是可见的。是否有任何机制可以使所有线条可见。因为在这种情况下性能很好。

  • 然后我尝试了另一种方法,其中我删除了所有 MKPolylineOverlays 并再次添加它。这种情况下,一切正常。但是主线程冻结了 UI 几秒钟。请记住,我添加了大约 2000 个 MKPolyLineView。我该如何管理它。

当我使用 hidden 和 alpha 属性时,没有删除覆盖,性能很好。但是当我从隐藏状态使它可见时,一半的线是不可见的。大约一半的叠加层不可见。

我需要的另一个帮助是因为我使用了大约 2000 个 MKOverlays,所以该应用程序在缩放时可以免费使用几秒钟。我认为在这种情况下,地图会在每个缩放级别重新渲染叠加层。有什么方法可以有效处理吗?

任何人都可以帮助我处理这种情况的最佳方法。

谢谢和问候, Sreelash

4

0 回答 0