4

我想重新创建 OSM 在编辑多边形时使用的相同样式。我称它为“内部中风”或“内部缓冲”。

OSM 示例:

在此处输入图像描述

我知道我可以使用一个数组ol.style.Style,其中一个发送回geometry内部缓冲区。然而,创建新几何图形只是为了用缓冲区表示原始几何图形似乎真的很耗费资源。这是推荐的方式吗?我可以ol.style.Stroke以某种高级方式使用吗?


另一个特点是“内部描边”的屏幕像素宽度是一个常数,与缩放级别无关。例如,这是缩小和放大的多边形:

缩小 放大

4

1 回答 1

0

这与我在项目中使用的类似。我从http://openlayers.org/en/latest/apidoc/ol.style.html得到这段代码如果你想要更厚的边框,你可以增加笔画的宽度。

var fill = new ol.style.Fill({
    color: 'rgba(255,255,255,0.4)'
});
var stroke = new ol.style.Stroke({
    color: '#3399CC',
    width: 1.25
});
var style = new ol.style.Style({
    fill: fill,
    stroke: stroke
});
于 2017-08-05T05:10:29.440 回答