Mapbox:如何更改 MGLFillStyleLayer "fill-outline-width"
Mapbox : How to change MGLFillStyleLayer "fill-outline-width"
我能知道是否有任何选项可以将 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)
谢谢。
目前无法调整 MGLFillStyleLayer
的 outline/stroke 宽度。此处讨论了样式规范的相关更改: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)
我能知道是否有任何选项可以将 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)
谢谢。
目前无法调整 MGLFillStyleLayer
的 outline/stroke 宽度。此处讨论了样式规范的相关更改: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)