我有一种方法可以在地图上显示多个注释。它的大约10 000个注释,所以我必须只显示当前时间在地图上可见的注释。当我使用map i移动时,执行返回带有可见坐标的对象的方法。但我的方法将删除所有这些并开始逐个添加它们。我的目标是当我呈现Annotations并且我移动地图时我想保留那些可见的并且其他人移除。我正在使用这个和FBAnnotationClusteringSwift框架。 这是我添加引脚的方法。
private var arrOfPinsOnMap:[FBAnnotation] = []
private var clusteringManager = FBClusteringManager()
func addMapPoints(){
self.arrOfPinsOnMap.removeAll()
self.clusteringManager = FBClusteringManager() //everytime recreate instance otherwise there will be duplicates.
for i in 0..<sortedObjectsByDistance_ids.count {
var id_pobor = String()
let pin = FBAnnotation()
guard let tempUniqueE21 = get_sortedObjectsByDistance(i) else {
continue
}
let temp = tempUniqueE21
pin.coordinate = CLLocationCoordinate2D(latitude: tempUniqueE21.lat, longitude: tempUniqueE21.lng)
pin.title = temp.provoz
pin.subtitle = temp.ulice
self.clusteringManager.addAnnotations([pin])
self.arrOfPinsOnMap.append(pin)
}
}
当用户使用地图移动时,我正在调用此方法。问题不在于FB框架,而在于存储的Annotation值。