我在我的项目中添加了带注释的聚类,它工作正常但在设置限制时遇到问题。
请在此处检查下图,已对 6 个注释进行分组,但我想设置应从 20 开始分组的聚类限制(因此永远不会看到其中一个数字为 19 或更低的注释)
func mapView(_ mapView: MKMapView, clusterAnnotationForMemberAnnotations memberAnnotations: [MKAnnotation]) -> MKClusterAnnotation {
return MKClusterAnnotation(memberAnnotations: memberAnnotations)
}
我也试过这个但对我不起作用。
func mapView(_ mapView: MKMapView, viewFor annotation: MKAnnotation) -> MKAnnotationView? {
let groupedpin = annotation as! MKClusterAnnotation
if groupedpin.memberAnnotations.count >= 20 { //<— Not working
let view = PlaceClusterAnnotationView.annotationView()
view._count = groupedpin.memberAnnotations.count.description
return view
}
return MKAnnotationView()
}
最佳答案
您不能强制注释聚类,但您可以阻止注释聚类。不要给任何 View clusteringIdentifier
(意思是,将其设置为 nil
以防止聚类;空字符串 ""
仍然充当聚类标识符) 直到你希望它能够聚类,并保持 View 的 displayPriority
在 required
直到你希望它能够聚类。要尝试制作 View 集群,请将其 displayPriority
设置为 0
。如果您突然将 20 个 View 的 displayPriority
设置为 0,那么如果它们靠得足够近,它们可能都会聚集在一起。但你不能保证这一点。
关于swift - 使用 Mapkit 对聚类注释设置限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57900206/