我正在创建一个地图应用程序,其中我正在显示MKPolylineView(大约2000)和带有引脚丢弃的MKAnnotations。
我想一次看一组MKPolylineViews或MKannotations。我使用2个按钮管理它,一个按钮用于显示MKPolylineViews集,另一个按钮用于显示MKAnnotations集。所以我尝试了两种方法来管理这种情况,如下所示:
对于MKAnnotations,我将其删除并再次添加。 在MKPolylineViews的情况下,我尝试了两种方法:
我尝试将所有MKPolylineViews隐藏为YES和NO,以便根据按钮点击来管理它的可见性。在这种情况下,当我从其隐藏状态使MKPolylineViews可见时,并非所有MKPolylineView都可见。我尝试了alpha和隐藏属性。在这两种情况下,结果都是相同的,并非所有线条都可见。是否有任何机制可以使所有线条可见。因为在这种情况下性能很好。
然后我尝试了另一种方法,在其中删除了所有MKPolylineOverlays并再次添加。这种情况下,一切运作良好。但主线程冻结UI几秒钟。请记住,我正在添加大约2000 MKPolyLineView。我该如何管理它。
当我使用隐藏和alpha属性时,性能很好,而不是删除叠加层。但当我从隐藏状态看到它时,有一半的线是不可见的。大约有一半的叠加层无法看到。
我需要的另一个帮助是因为我使用了大约2000个MKOverlays,这个应用程序在缩放时可以释放几秒钟。我认为在这种情况下,地图会在每个缩放级别重新渲染叠加层。有没有办法有效地处理它?</ p>
任何人都可以帮助我处理这种情况的最佳方法。
谢谢和问候, Sreelash