featurelayer在线编辑添加图形不成功

问题如上,代码在下。浏览器控制台也输出了success,但是数据库中并没有增加一条记录,请大神们找找问题
var myFeatureLayer = new FeatureLayer("http://172.17.10.216:6080/arcg ... ot%3B,{
                mode: esri.layers.FeatureLayer.MODE_AUTO,
                outFields: ["*"]
            });
            map.addLayer(myFeatureLayer);
            console.log(map.graphicsLayerIds.length);

            map.on("layer-add-result", initDraw);

            myFeatureLayer.on("edits-complete", function(){
                myFeatureLayer.refresh();
            });

            function initDraw(evt){
                var myLayer = evt.layer;
                
                toolbar = new Draw(map);
                on(dom.byId("drawPoint"), "click", function() { 
                    toolbar.activate(Draw.POINT);
                });

                toolbar.on("draw-complete", function(evt){
                    toolbar.deactivate();
                    var newAttributes = {};
                    var num = myFeatureLayer.graphics.length;
                    if (num > 0){
                        lastObjId = Number(myFeatureLayer.graphics[num-1].attributes["OBJECTID"]);
                        newAttributes = {"OBJECTID": lastObjId + 1};
                    }
                    else{
                        newAttributes = {"OBJECTID": 1};
                    }
                    var symbol = new SimpleMarkerSymbol();
                    var newGraphic = new Graphic(evt.geometry, symbol, newAttributes);
                    
                    myLayer.applyEdits([newGraphic], null, null, succ, failed);
                    map.graphics.add(newGraphic);
                    
                    
                });
            }

            function succ(evt){
                console.log("success:", evt);
            }

            function failed(e){
                console.log("failed:", e);
            }
已邀请:

yingood

赞同来自:

刚好有这个需求,借用楼主代码测试了下,发现applyEdits方法的主体用错了,不是“myLayer”,应该用“myFeatureLayer ”,另外OBJECTID是系统自增的,这边代码设置是不管用的。

要回复问题请先登录注册