从OpenLayers.Layer.Vector对象中检索GeoJson属性

时间:2011-12-07 09:37:22

标签: openlayers geojson

在查看dev.openlayers.org/apidocs/files/OpenLayers/Layer/Vector-js.htm之后 - 我们不清楚如何使用以下javascript从下面的geojson示例中提取属性值:

{ "type": "FeatureCollection",
    "features": [
    { "type": "Feature",
        "geometry":
            {   "type": "MultiPoint",
                "coordinates": [[[0,0]]]   
            },  
        "properties": {"test" : "this"}
        }   
    ]   
 }


layer = new OpenLayers.Layer.Vector("GML", {
           strategies: [new OpenLayers.Strategy.Fixed()],
           protocol: new OpenLayers.Protocol.HTTP({
             url: "some_url",
             params: {...},
             format: new OpenLayers.Format.GeoJSON()
           }),
        });

到目前为止,我理解它的方式是图层是一个包含"属性的对象"作为要素类型的属性。但不确定如何访问它。

任何帮助将不胜感激。提前谢谢!

1 个答案:

答案 0 :(得分:2)

图层的特征是具有geojson文件的属性,而不是图层本身。您可以像这样访问它们:

for(var i=0; i < layer.features.length; i++){
  console.log(layer.features[i].attributes.test);
}

因此,要素对象的属性attributes将具有所有属性。