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

时间:2016-02-09 19:31:16

标签: javascript web gis openlayers-3

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

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

group1.getLayers().getArray()

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

我的猜测是在getArray()之后添加.get("name"),但它不起作用(我猜你不能调用2种以上的方法)。我也尝试在变量中存储getArray()的结果,但是我不能对变量进行get(" name")。

如何访问我的图层名称?

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

1 个答案:

答案 0 :(得分:2)

好的,我找到了答案。

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;
    };