【问题标题】:Set limit on Clustering annotations using Mapkit使用 Mapkit 设置聚类注释的限制
【发布时间】:2019-09-12 05:25:42
【问题描述】:

我在我的项目中添加了带有注释的集群,它工作正常,但设置限制有问题。
请在此处查看下图,对 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()
}

【问题讨论】:

  • 非常好的问题。对此有什么好的解决方案吗?

标签: swift xcode mapkit mkannotation mkclusterannotation


【解决方案1】:

您不能强制注释聚类,但可以阻止注释聚类。不要给任何视图clusteringIdentifier(意思是,将其设置为nil以防止集群;一个空字符串""仍然充当集群标识符)直到您希望它能够集群,并保留视图的@ 987654324@ required 直到您希望它能够集群。要尝试创建视图集群,请将其 displayPriority 设置为 0。如果您突然将 20 个视图的 displayPriority 设置为 0,那么如果它们足够接近,它们可能都会聚集在一起。但你不能保证这一点。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-03
    相关资源
    最近更新 更多