我正在处理一个Mapbox映射,希望使用here找到的群集功能。所以我复制了代码,需要知道插入我的数据而不是示例。

let algorithm = CKNonHierarchicalDistanceBasedAlgorithm()
mapView1.clusterManager.algorithm = algorithm
mapView1.clusterManager.annotations = annotations

我当时正在设置功能并导入ClusterKit,但是mapView1似乎没有它应该具有的.clusterManager功能。我做错了什么?我该怎么解决?

最佳答案

.clusterManager属性comes来自CKMap协议。
从文档中:
/**
CKMap协议用于提供集群指令并从映射获取信息。要使用此协议,可以在表示映射的任何自定义对象中采用它。
@讨论采用此协议的对象必须实现所有方法和属性。
*/
@协议CKMap
确保您的mapView1对象是采用CKMap协议的类型。
可能您忘记在情节提要中为地图视图设置自定义的MGLMapView类。
另外,请确保您的Podfile有以下行:

pod 'ClusterKit/Mapbox', :path => '../.'

之后,请尝试更新导入代码行,如下所示:
import ClusterKit.Mapbox

07-27 15:53