通常,代码是通过计算每次地图移动中将出现的线串绘制的。但是,在一定汇合处绘制的线消失了。在示例代码中,绿线是主线,并不会消失,但是放大时,绿线会消失。您可以尝试更靠近代码上的线。
代码示例如下: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'],
}
这可能是什么原因,如何解决?
答案 0 :(得分:1)
您正在将中心线(真实特征)样式化为7条线(不是真实特征,只是用于样式化的几何图形)。如果实际特征不在地图视口和图层的renderBuffer覆盖的区域中,则不会设置样式(尽管平移时它可能仍然可见,因为除非更改分辨率,否则样式函数不会重新运行)。为了避免边缘样式线消失于高缩放级别,您需要将图层上的renderBuffer
设置为非常大的数字,例如
var vectorLayer = new ol.layer.Vector({
source: vectorSource,
renderBuffer: 1e10,
style:lineString
});