ios - 大量注释的 MapKit 性能

标签 ios swift performance annotations mapkit

我必须通过聚类在 map 上放置大量注释(大约 3000 个)。

我有两种方法,第一种是通过 iOS 和支持的混合来解决的。这个想法是应用程序在每个 regionDidChangeAnimated 上将 visibleMapRect 传递到服务器,并且服务器使用可见区域中的所有注释进行响应。但问题是,因为每次将注释加载到 map 时(在每个 regionDidChangeAnimated 上),我都使用 iOS 11 MapKit 集群,调用集群并且所有注释都会闪烁一秒钟,这会导致非常糟糕的用户体验.

第二个想法是在viewDidLoad中加载 map 上的所有3000个注释,注册注释并使用mapView.dequeueReusableAnnotationView。我用相同的方法使用了 3000 行的 tableview,由于 iOS 正在回收 View ,因此它的性能非常好。但我不确定旧设备上的 map 。

所以我的问题是是否有比这两种更好的方法,如果没有,哪一种更好?

最佳答案

第一种方法,您只需要计算黑白旧位置和新位置之间的距离(在每个 RegionDidChangeAnimated 上)。定义服务器调用的距离覆盖范围(5 - 10 米)。

关于ios - 大量注释的 MapKit 性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48784890/

相关文章:

ios - 在 Xcode 中使用带有可重用单元格的按钮和 TextFields

ios - Swift 字典映射 - 在闭包中初始化

ios - iOS 8 中的 shouldAutorotate 行为

ios - CoreData属性可以扩展吗?

ios - 在将新界面推送到界面 Controller 上后,如何关闭由界面 Controller 组成的两个页面中不需要的页面?在 Watchkit 上

python - 为什么我的 pyglet 程序在渲染 128 个粒子时速度很慢?

iphone - MBProgressHUD 在完成前消失

Swift:如何激活和取消隐藏任何应用程序的窗口?

performance - 距离近似?

php - 通过 FastCGI 从 NGINX 到 PHP 的连接时间