0
先不工作,我得到那么所有的矢量层评价,如果它是可见的,并得到它的名字。然后我想删除该层上的所有过滤器,然后刷新。获得通过类(矢量)层,然后刷新使用Openlayer 2.14
下面的代码的片段:
var mLayers = map.getLayersByClass("OpenLayers.Layer.Vector");
for(var a = 0; a < mLayers.length; a++){
if(mLayers[a].getVisibility()){
var layerName = mLayers[a].name;
var vlayer = map.getLayersByName(layerName);
//console.log(vlayer);
vlayer.filter = null;
vlayer.refresh({
force: true
});
}
};
它抛出一个错误:
Uncaught TypeError: vlayer.refresh is not a function
我注意到,如果我使用了矢量层的可变分配,刷新作品。
例如:
var vector_bldg =new OpenLayers.Layer.Vector("Buildings", {
...
}
然后
vector_bldg .filter = null;
vector_bldg .refresh({
force: true
});
你应该认真考虑升级。 OL2非常过时。现在,4.2是乐趣所在。 –