我必须在地图上(大约3000个)放置大量注释并进行聚类。
我有两种方法,第一种方法是通过混合iOS和支持解决。我们的想法是app在每个visibleMapRect
上将regionDidChangeAnimated
传递给服务器,服务器会响应可见区域中的所有注释。但问题是因为我每次将注释加载到地图时都使用iOS 11 MapKit集群(在每个regionDidChangeAnimated
上)调用集群并且所有注释都会闪烁一秒,这会导致非常糟糕的用户体验。
第二个想法是在viewDidLoad
的地图上加载所有3000个注释,注册注释并使用mapView.dequeueReusableAnnotationView
。我使用具有相同方法的3000行的tableview,并且由于iOS正在回收视图,因此它表现得非常好。但我不确定旧设备上的地图。
所以我的问题是,如果有比这2更好的方法,如果没有哪个更好?
答案 0 :(得分:0)
第一种方法,你只需要计算黑白旧位置和新位置之间的距离(在每个regionDidChangeAnimated上)。定义服务器呼叫的距离覆盖(5 - 10米)。