我必须通过聚类在 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/