Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从OpenLayers3中的图层组访问图层名称特性_Javascript_Web_Gis_Openlayers 3 - Fatal编程技术网

Javascript 从OpenLayers3中的图层组访问图层名称特性

Javascript 从OpenLayers3中的图层组访问图层名称特性,javascript,web,gis,openlayers-3,Javascript,Web,Gis,Openlayers 3,我有一个由3个层组成的层组,名称为:group1 我想生成这个组中图层名称的数组。实际上,我正在这样做: group1.getLayers().getArray() 我已经达到了ol.layer.vector的级别,但是我似乎找不到如何访问name属性的值 我的猜测是在getArray()之后添加一个.get(“name”),但它不起作用(我猜不能调用超过2个方法)。我还尝试将getArray()的结果存储在一个变量中,但无法对该变量执行get(“name”) 如何访问我的图层名称 编辑:看起来

我有一个由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;
}
函数getNames(dom){
var股票=[];
变量层名称=[];
stock=dom.getLayerArray();

对于(i=0;iIf您可以获得getArray()的结果)在一个变量中,你能不能直接访问该变量?或者通过迭代访问其内容?@1saac该变量中存储的是一个ol.layer.vector结构。我不能在其中迭代,因为它的长度为1。或者可能我不知道如何通过这种结构进行迭代找到获取名称的方法并发布answer、 谢谢你@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;
    };