我是否可以选择将MGLFillStyleLayer
“填充轮廓宽度”更改为自定义宽度,
let fillStyleLayer = MGLFillStyleLayer(identifier: identifier, source: source)
fillStyleLayer.sourceLayerIdentifier = identifier
fillStyleLayer.fillColor = MGLStyleConstantValue<UIColor>(rawValue: .red)
fillStyleLayer.fillOpacity = MGLStyleConstantValue<NSNumber>(rawValue: 0.2)
fillStyleLayer.fillOutlineColor = MGLStyleConstantValue<UIColor>(rawValue: .red)
fillStyleLayer.predicate = predicate
fillStyleLayer.isVisible = true
self.mapView.style?.addLayer(fillStyleLayer)
像这样,
fillStyleLayer.fillOutlineWidth = MGLStyleConstantValue<NSNumber>(rawValue: 5)
感谢。
答案 0 :(得分:0)
目前无法调整MGLFillStyleLayer
的轮廓/笔划宽度。此处讨论了样式规范的相关更改:https://github.com/mapbox/mapbox-gl-js/issues/4087
根据您的使用情况,一种解决方法是从同一来源创建MGLLineStyleLayer
并为该行上的lineWidth
设置样式。然后,您可以在填充图层上方添加线条图层。如果您有多个单独的MGLFillStyleLayer
个对象,这可能不太理想,因为这会影响性能。
let fillStyleLayer = MGLFillStyleLayer(identifier: identifier, source:
...
self.mapView.style?.addLayer(fillStyleLayer)
let fillLineLayer = MGLLineStyleLayer(identifier: "line-layer", source: source)
fillLineLayer.lineWidth = MGLStyleConstantValue<NSNumber>(rawValue: 5)
mapView.style?.addLayer(fillLineLayer)