首页 / 浏览问题 / 云GIS / 问题详情
更新查询到ID的要素属性
9EXP 2018年11月17日
对于发布的map服务,利用data进行要素的属性更新。现在可以获取要素的ID,如何利用iserver更新要素的属性。参考提供的地物编辑,js代码如下:

var editFeaturesService = new ol.supermap.FeatureService(url);    
    var updateParams = new SuperMap.EditFeaturesParameters({      
        features:[feature],
        dataSourceName: "TestPolygon_UDB",
        dataSetName: "New_Region",
        editType: "update"
    });

其中feature是:{type: "Feature", properties: Object, geometry: Object, id: 12}

出现错误:Uncaught (in promise) TypeError: geoFeature.getProperties is not a function

????

2 个回答

您好,请检查您发布的服务是否是数据服务,并使用相应的数据服务url
1,076EXP 2018年11月19日
您好,这个可能是因为您的feature和getproperties不对应,能把完整的代码发一下吗?
5,668EXP 2018年11月19日
feature要素是通过查询获得的,

var recordsets = serviceResult.result.recordsets;   
  var features = recordsets[0].features.features;

var feature = features[0];

然后设置该要素的属性name:

feature.properties.name = "update_Success3333";

var url = "http://localhost:8090/iserver/services/data-QingDao/rest/data";       
var editFeaturesService = new ol.supermap.FeatureService(url);

 var updateParams = new SuperMap.EditFeaturesParameters({        
        dataSourceName: "TestPolygon_UDB",
        dataSetName: "New_Region",
        features:[feature],
        editType: "update"
    });
    
    editFeaturesService.editFeatures(updateParams, function (serviceResult) {

});
我也是报这个错误,请问解决了吗?如何解决的
...