OpenLayers多线绘图线消失

时间:2019-01-10 17:48:00

标签: javascript openlayers openlayers-3

通常,代码是通过计算每次地图移动中将出现的线串绘制的。但是,在一定汇合处绘制的线消失了。在示例代码中,绿线是主线,并不会消失,但是放大时,绿线会消失。您可以尝试更靠近代码上的线。

代码示例如下:JSFiddle

       var lineString = new ol.style.LineStrings({
            valLine:7,
            valDistance:150, 
            color: 'green',
            width: 4,
            widthLines:4,
            colorArray: ['blue', 'red', 'white', 'black', 'orange', 'blue', 'red', 'white', 'black', 'orange'],
            }

这可能是什么原因,如何解决?

1 个答案:

答案 0 :(得分:1)

您正在将中心线(真实特征)样式化为7条线(不是真实特征,只是用于样式化的几何图形)。如果实际特征不在地图视口和图层的renderBuffer覆盖的区域中,则不会设置样式(尽管平移时它可能仍然可见,因为除非更改分辨率,否则样式函数不会重新运行)。为了避免边缘样式线消失于高缩放级别,您需要将图层上的renderBuffer设置为非常大的数字,例如

            var vectorLayer = new ol.layer.Vector({
                source: vectorSource,
                renderBuffer: 1e10,
                style:lineString
            });