在OpenLayers中显示矢量图层中的单个要素

在OpenLayers中显示矢量图层中的单个要素,openlayers,Openlayers,给定一个要素ID,我想隐藏向量层上的所有其他要素,并在地图上仅显示该要素。这可能吗?不用管我修好了,它比我想象的要容易 sprinterLayer.features[labId].style={fillColor:“green”}; map.layers[1].redraw() 我只是更改了我想要的特定功能的样式 要隐藏矢量图层上的所有其他要素,并且只在地图上显示id=labId的一个要素,可以使用以下代码 for(var f=0;f<sprintersLayer.features.len

给定一个要素ID,我想隐藏向量层上的所有其他要素,并在地图上仅显示该要素。这可能吗?

不用管我修好了,它比我想象的要容易

sprinterLayer.features[labId].style={fillColor:“green”}; map.layers[1].redraw()


我只是更改了我想要的特定功能的样式

要隐藏矢量图层上的所有其他要素,并且只在地图上显示id=labId的一个要素,可以使用以下代码

for(var f=0;f<sprintersLayer.features.length;f++) {
 if(sprintersLayer.features[f].id !="labId")
  {
  sprintersLayer.features[f].style = { visibility: 'hidden' };}

  }

for(var f=0;fcan您可以对map.layers[1].redraw()进行eloborate;它给出了错误提示,这个答案是从2012年开始的。我确信这个库从那时起已经改变了,我从那时起就没有使用过它……太好了!我建议您添加这个解决方案作为答案,以帮助下一个人