OpenLayers绘制线宽为米的字符串



想要绘制线宽以米为单位的字符串

尝试过的样式,但它们是固定宽度(以像素为单位),并且在缩放时不会改变线条厚度

提前感谢

如果有人感兴趣:

function() {
    return [
        new ol.style.Style({
            stroke: new ol.style.Stroke({
                color: 'rgba(0,0,0,1)',
                width: 50 / ol.map.getView().getResolution()
            })
        })
    ]
}

您可以提供一个返回ol.style.Style的函数,而不是直接使用ol.style.Style(例如使用setStyle)。

此函数在每个渲染过程中都会调用,您可以动态更改ol.style.Stroke的宽度。

在上面的情况下,如果使用Web-Mercator投影(EPSG:3857),则会绘制一条线,其中的宽度应代表现实世界中的50米。

尝试使用"多边形",或者在绘制结束后将"线"更改为"多边形"。

最新更新