如何在 OpenLayers 中设置和获取层的自定义属性
How to set and get custom attributes of layers in OpenLayers
在 OpenLayers 库中,我像这样创建图层:
var layer = new ol.layer.Tile({
source: new ol.source.OSM()
});
...
我想做的是给这个层添加一些独特的属性,或者类似的东西:
var layer = new ol.layer.Tile({
source: new ol.source.OSM(),
customAttr: 'unique_id'
});
...
这样,以后我可以这样做:
map.getLayers().forEach(function(layer){
if(layer.customAttr === 'unique_id'){
doSomething();
}
});
我不知道如何在实践中做到这一点。
将 if(layer.customAttr === 'unique_id')
更改为 if(layer.get("customAttr") === 'unique_id')
,它应该可以工作。参见 this fiddle。
在 OpenLayers 库中,我像这样创建图层:
var layer = new ol.layer.Tile({
source: new ol.source.OSM()
});
...
我想做的是给这个层添加一些独特的属性,或者类似的东西:
var layer = new ol.layer.Tile({
source: new ol.source.OSM(),
customAttr: 'unique_id'
});
...
这样,以后我可以这样做:
map.getLayers().forEach(function(layer){
if(layer.customAttr === 'unique_id'){
doSomething();
}
});
我不知道如何在实践中做到这一点。
将 if(layer.customAttr === 'unique_id')
更改为 if(layer.get("customAttr") === 'unique_id')
,它应该可以工作。参见 this fiddle。