ol层矢量getSource addFeature

时间:2019-06-21 13:18:19

标签: javascript openlayers

无法添加功能

feat[0]被显示,但是在进行for迭代时,出现ol.js错误消息:

  

e.getId不是函数

这是我的代码:

var feat=donnees_points_postgis.getFeatures();
var couche_dalles_postgis=new ol.layer.Vector({
    source:new ol.source.Vector({
        features:(new ol.format.GeoJSON()).readFeatures(feat[0].get('geom1'))
    })
});
map.addLayer(couche_dalles_postgis);
for(var i=1; i<feat.length; i++){
    if(feat[i].get('geom1')!=feat[i-1].get('geom1')){
        var feature=(new ol.format.GeoJSON()).readFeatures(feat[i].get('geom1'))
        couche_dalles_postgis.getSource().addFeature(feature);
    }
}

1 个答案:

答案 0 :(得分:0)

这是通过从几何列获取数据来向图层添加要素的最终解决方案:

var feat=donnees_points_postgis.getFeatures();
var couche_dalles_postgis=new ol.layer.Vector({
    source:new ol.source.Vector({
        features:(new ol.format.GeoJSON()).readFeatures(feat[0].get('geom1'))
    })
});
map.addLayer(couche_dalles_postgis);
for(var i=1; i<feat.length; i++){
    if(feat[i].get('geom1')!=feat[i-1].get('geom1')){
        var feature=(new ol.format.GeoJSON()).readFeatures(feat[i].get('geom1'))
        couche_dalles_postgis.getSource().addFeatures(feature);
    }
}