swift - 使用 Mapkit 对聚类注释设置限制

标签 swift xcode mapkit mkannotation mkclusterannotation

我在我的项目中添加了带注释的聚类,它工作正常但在设置限制时遇到问题。
请在此处检查下图,已对 6 个注释进行分组,但我想设置应从 20 开始分组的聚类限制(因此永远不会看到其中一个数字为 19 或更低的注释)

enter image description here

  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 的 displayPriorityrequired 直到你希望它能够聚类。要尝试制作 View 集群,请将其 displayPriority 设置为 0。如果您突然将 20 个 View 的 displayPriority 设置为 0,那么如果它们靠得足够近,它们可能都会聚集在一起。但你不能保证这一点。

关于swift - 使用 Mapkit 对聚类注释设置限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57900206/

相关文章:

ios - 实现 'WKNavigationDelegate' 方法 'didReceiveServerRedirectForProvisionalNavigation' 方法以遵循重定向的示例

ios - 状态栏背景颜色与 View Controller 不同

ios - 警报的 UILocalNotification 替代方案

ios - 监控 MKMapView 重绘事件

ios - MKAnnotation View 转场

ios - WKWebView 没有出现在自定义 UIView 中

ios - 为什么在 iOS 上实现 Google Admob Native Ads 时,GADNativeView 上没有 IBOutlet?

iphone - iPhone 资源的单独目录

ios - 将 x 个元素的 isHidden 设置为 false

ios - 如何在 MKMapSnapshotter 上绘制 CLLocationCooperative2Ds(在 mapView 打印图像上绘制)