从 OpenLayers3 中的图层组到达图层名称 属性

Reach layer name property from a layer group in OpenLayers3

我有一个由 3 个图层组成的图层组,并命名为例如:group1

我想生成一个包含该组中图层名称的数组。我实际上是这样做的:

group1.getLayers().getArray()

我已达到 ol.layer.vector 的水平,但我似乎无法找到如何访问 name 属性的值。

我的猜测是在 getArray() 之后添加一个 .get("name") 但它不起作用(我猜你不能调用超过 2 个方法)。我还尝试将 getArray() 的结果存储在一个变量中,但后来我无法对变量执行 get("name")。

如何访问我的图层名称?

编辑:看起来我也可以使用 getLayersArray() 方法,但我遇到了同样的问题。

好的,我找到了答案。

function getNames(dom){
    var stock = [];
    var layer_names = [];
    stock = dom.getLayersArray();

    for(i=0;i<stock.length;i++){
        layer_names[i] = stock[i].get("name");
    };
    return layer_names;
}

感谢@1saac。

编辑:稍微推一下以添加每层的属性键:

function getNames(domaine){
        var r_stock = [];
        var r_layers = [];
        r_stock = domaine.getLayersArray();

        for(i=0;i<r_stock.length;i++){

            feat_source = r_stock[i].getSource();
            feat_get = feat_source.getFeatures();
            prop_feature[i] = feat_get[0].getKeys();

            r_layers[i] = ["name", r_stock[i].get("name")];

            for(j=0;j<prop_feature[i].length;j++){
                r_layers[i].push("id" + j, prop_feature[i][j])
            };

        };

        return r_layers;
    };