gpt4 book ai didi

ios - map 框 : How to change MGLFillStyleLayer "fill-outline-width"

转载 作者:可可西里 更新时间:2023-11-01 02:05:52 24 4
gpt4 key购买 nike

我能知道是否有任何选项可以将 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 的轮廓/描边宽度。此处讨论了样式规范的相关更改: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)

关于ios - map 框 : How to change MGLFillStyleLayer "fill-outline-width",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42901953/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com