如何禁用“ MGLSymbolStyleLayer”的集群功能?

时间:2018-06-28 17:43:40

标签: ios swift mapbox

环境

  • Mapbox-iOS-SDK 3.7.8

我尝试用MGLSymbolStyleLayer禁用MGLShapeSource的群集。

MGLMapView加载后,我制作了MGLSymbolStyleLayer

private func makeSymbolLayer(withId identifier: String, style: MGLStyle) {
    let options = [MGLShapeSourceOption.clustered: false as NSNumber]
    let source = MGLShapeSource(identifier: identifier, features: [], options: options)

    let layer = MGLSymbolStyleLayer(identifier: identifier, source: source)

    style.addSource(source)
    style.addLayer(layer)
}

然后,当我从服务器获取数据时,将填充一个形状。我用不同的图标创建功能。

source.shape = MGLShapeCollectionFeature(shapes: loadedFeatures)

但是无论如何,群集始终处于启用状态。 是否可以为MGLSymbolStyleLayer禁用群集?

1 个答案:

答案 0 :(得分:2)

我无法重现此问题,但是options是可选的。因此,您应该能够按顺序将其设置为nil,而不会看到群集。

let source = MGLShapeSource(identifier: identifier, features: [], options: nil)

某些功能可能会被隐藏以避免图标重叠。如果要允许图标重叠,请将iconAllowsOverlap设置为YES