首页 / 浏览问题 / WebGIS / 问题详情
在地图上绘画, 然后地物编辑保存在已有的图层上,一直报错
leidigaga111...  (33EXP)  初出茅庐
8月23日, 2021

我是web端  iclient for openlayers ,

在地图上进行draw绘面, 然后保存为 polygon 的feature一个矢量元素,

然后 将该矢量元素调用 EditFeaturesParameters 方法 获取到 数据集修改添加所需要的 参数类,

在调用 editFeatures  该方法 进行保存, 这个方法就一直报错,  不是404  就是 500 的 ,不知道是什么问题,

下面是我的代码,求大佬看看哪有问题了

//进行绘画的代码
draw = new ol.interaction.Draw({
	source: addPointsSource,
	type: 'Polygon',
	snapTolerance: 20,
	style: new ol.style.Style({
	  stroke: new ol.style.Stroke({
	  color: '#00FECD',
	  width: 3,
	}),
	fill: new ol.style.Fill({
		color: 'rgba(0, 290, 195, 0.8)'
	})
  })
});
map.addInteraction(draw);
draw.on('drawend', function (e) {

	let range = e.target.sketchCoords_[0]; //图形范围
	let geomOne = new ol.geom.Polygon([range])
	pointFeature = new ol.Feature({
		geometry: geomOne,
	});

	addPointsSource.addFeature(pointFeature);
})

// 进行提交
function commitMark() {
 clearInteraction();
	var addFeatureParams = new SuperMap.EditFeaturesParameters({
			features: pointFeature,
			dataSourceName: "build",
			dataSetName: "build",
			editType: "add",
			returnContent: true
		});
		console.log(addFeatureParams);
		editFeaturesService.editFeatures(addFeatureParams, function (serviceResult) {
			console.log(serviceResult);
		});
}

求大佬解救一下孩子 

2 个回答

数据源和数据集是正确的,但这个数据源不知道啥情况, 我点开数据服务查看这个数据源, 里面的数据集一会显示,刷新一下又不显示了,再刷新几次又出来了,我发现只要不在了就会报404, 在的话就会报500
leidigaga111...  (33EXP)  初出茅庐
8月24日, 2021

您好,关于添加编辑地物的话,您可以参考以下demo:

http://support.supermap.com.cn:8090/iserver/iClient/forJavaScript/examples/examples.html#editFeature

您的问题可能就是没有正确的将drawgeometry中的geometry参数正确传入editfeature中。您可以对照demo中的方法修改。

您好,报404的错一般是指检查一下您的数据集和数据源是否争取

y_98  (1,000EXP)  名扬四海
8月24日, 2021
1
...