【问题标题】:Edit data in an ArcGIS Service via rest and json with jquery/javascript使用 jquery/javascript 通过 rest 和 json 在 ArcGIS 服务中编辑数据
【发布时间】:2016-12-22 14:42:08
【问题描述】:

我正在尝试通过 rest 和 json 更改来自 arcgis 服务的功能的信息。我创建了一个将被调用的函数,但结果让我不知道该怎么做。

我也在使用 openlayers3,我知道它具有 feature.setProperties 功能,但我不确定如何将其实际用于服务。我已经检查了这个例子来理解它: http://openlayers.org/en/latest/examples/vector-esri-edit.html?q=arcgis 但遗憾的是我没有,因为我无法创建有效负载变量。

但如果有办法使用 openlayers3 来实现,我会更开心。

我使用的代码是:

export function changeFeature(feature) {
var str = {};
str = feature.getProperties();

for (var s in str) {
    if (typeof str[s] === 'object') {

    } else {
        str[s] = document.getElementById(''+s + '1').value;
        feature[s] = document.getElementById(''+s + '1').value;
    }
};

console.log(str);

$.ajax({
    type: "POST",
    url: "http://192.168.216.56:6080/arcgis/rest/services/test/MyMapService/FeatureServer/0/applyEdits",
    data: str,
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    processData: true,
    success: function (data, status, jqXHR) {
        alert("success..." + data);
    },
    error: function (xhr) {
        alert(xhr.responseText);
    }
});

}

控制台会给我这个:

Object { geometry: Object, 
         objectid: "56400", 
         relcp86d_: "0", 
         relcp86d_i: "564", 
         symbol: "4", 
         polygonid: "0", 
         scale: "1", 
         angle: "0", 
         omschrijvi: "Rosmolen" }

这看起来不错,但它给我抛出了这个错误:

TypeError: event is undefined[Meer info]

【问题讨论】:

    标签: javascript jquery json openlayers-3 arcgis


    【解决方案1】:

    这是使用 Applyedit 的 Esri 文档:http://help.arcgis.com/en/arcgisserver/10.0/apis/rest/fsedits.html

    所以要更新一个特性,你必须发送一个带有两个对象的 json :

    • 一个是几何,包含特征的X,Y坐标

    • 另一个是属性,用OBJECTID键值对,其他属性对更新。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-04-30
      • 1970-01-01
      • 2014-02-24
      • 2016-03-01
      • 2013-07-09
      • 2017-02-18
      • 2014-11-20
      相关资源
      最近更新 更多