矢量层不切换可见度,始终打开

  • 本文关键字:可见度 openlayers
  • 更新时间 :
  • 英文 :


我有一个VectorLayer,其中包含用户生成的一些点,配置方式如下:

var sourcePoint = new VectorSource();
var vectorPoint = new VectorLayer({
source: sourcePoint,
style: new Style({
fill: new Fill({
color: 'rgba(0, 0, 0, 0.2)'
}),
image: new CircleStyle({
radius: 7,
fill: new Fill({
color: '#32ff32'
}) 
})
}),
zIndex: 99,
name: "vectorPoint",
visible: false
});

当地图页面打开时,它会加载用户数据并填充在源点中。问题在于,此矢量层必须从设置为假的可见度开始,但即使visible: false它也会开始打开。

我还尝试使用setVisible()函数切换此图层可见性,该功能也不适用于此图层。奇怪的是,其他 VectorLayers 按预期工作正常,从可见性设置为关闭并切换开始。

有什么理由会发生这种情况吗?我找不到有类似问题的人。


更新 17/02/2020

如何将图层添加到地图:

this.map = new Map({
layers: [tileBackground, vectorPoint],
target: document.getElementById('map'),
view: view
});

我正在使用的基本切换图层功能

randomFunction(status, layerName) { // Firing as randomFunction(true, 'vectorPoint')
this.map.getLayers().forEach((layer) => {
if (layer.get('name') == layerName && layer.get('name') != undefined) {
if (status == true) {
layer.setVisible(true);
} else {
layer.setVisible(false);
}
}
});
}

我可以看到该图层是在if (layer.get('name') == layerName...之后建立


好的,我设法找到了问题。在这种情况下,错误是我为使用设备的GPS创建的点提供了其他矢量图层。加载点时,它们填充了两个图层,因此当我尝试关闭主点图层时,另一个图层仍处于活动状态,误导我相信错误与我使用的方法有关。很抱歉给您带来麻烦。

相关内容

  • 没有找到相关文章

最新更新