如何在 OpenLayers 中设置和获取图层的自定义属性

Jac*_*ian 5 javascript openlayers

在 OpenLayers 库中,我像这样创建层:

var layer = new ol.layer.Tile({
    source: new ol.source.OSM()
});
...
Run Code Online (Sandbox Code Playgroud)

我想要做的是向这一层添加一些独特的属性,或者类似的东西:

var layer = new ol.layer.Tile({
    source: new ol.source.OSM(),
    customAttr: 'unique_id'
});
...
Run Code Online (Sandbox Code Playgroud)

以便以后我可以这样做:

map.getLayers().forEach(function(layer){
    if(layer.customAttr === 'unique_id'){
        doSomething();
    }
});
Run Code Online (Sandbox Code Playgroud)

我不知道如何在实践中做到这一点。

its*_*ani 5

更改if(layer.customAttr === 'unique_id')if(layer.get("customAttr") === 'unique_id'),它应该可以工作。看看这个小提琴。