注意:经测试目前三维数据集不支持此方法
首先安装 @supermap/iclient-ol
npm install @supermap/iclient-ol
使用超图封装的FeatureService
类中的 editFeatures
方法修改数据集属性信息
import { FeatureService } from '@supermap/iclient-ol/services/FeatureService.js';
import { EditFeaturesParameters } from '@supermap/iclient-common/iServer/EditFeaturesParameters.js';
// 传入要素列表
function updateProperty(features: Feature[]) {
for (let i = 0; i < features.length; i++) {
const feature = features[i];
feature.setProperties({ 状态: modi });
// 如果要修改要素的几何属性,确认与源数据的坐标系是否一致
// let transfomrGeo = feature.getGeometry().transform('EPSG:4326', 'EPSG:4547'); //投影转换再修改
// feature.setGeometry(transfomrGeo);
}
var editFeatureParams = new EditFeaturesParameters({
features: features,
dataSourceName: '数据源名称',
dataSetName: '数据集名称',
editType: 'UPDATE',
returnContent: true
});
let url = MAP_SERVER.SUPERMAP_DATA_URL; //数据源iserver服务地址
new FeatureService(url).editFeatures(editFeatureParams, function (serviceResult) {
if (serviceResult.result.succeed) {
message.success('修改成功');
}
});
}