Select to view content in your preferred language

Creating editable feature layer on the client side

929
2
03-06-2013 11:24 AM
EvanKarmazin
Emerging Contributor
I was looking through the API the other day, and I noticed that on the below page:

[HTML]http://help.arcgis.com/en/webapi/javascript/arcgis/jsapi/#featurelayer[/HTML]

It appears to be possible to do the feature layer editing strictly from the client side. This is advantageous for me because I was having issues with the feature layer on the server.

I was wondering if there may be good examples of this out there, or anyone that has attempted this?

Thanks,
Evan
0 Kudos
2 Replies
SimonLeo
Deactivated User
http://help.arcgis.com/en/webapi/javascript/arcgis/jssamples/#search/edit

I was looking through the API the other day, and I noticed that on the below page:

[HTML]http://help.arcgis.com/en/webapi/javascript/arcgis/jsapi/#featurelayer[/HTML]

It appears to be possible to do the feature layer editing strictly from the client side. This is advantageous for me because I was having issues with the feature layer on the server.

I was wondering if there may be good examples of this out there, or anyone that has attempted this?

Thanks,
Evan
0 Kudos
EvanKarmazin
Emerging Contributor
For those that may be interested, I hacked this bit together.

function startlocalEditing() {
                dojo.connect(app.map, "onLayersAddResult", initlocalEditor);
                
    //point layer
    
    var pointlayerDefinition = {
                    "geometryType": "esriGeometryPoint",
                    "fields": [{
                        "name": "Buff",
                        "type": "esriFieldTypeOID",
                        "alias": "Buffer Distance",
                        
                    }]
                }    
                var pointfeatureCollection = {
                    layerDefinition: pointlayerDefinition,
                    featureSet: null,
                };
                pointfeatureLayer = new esri.layers.FeatureLayer(pointfeatureCollection, {
                    mode: esri.layers.FeatureLayer.MODE_SNAPSHOT,
                    outfields: ["*"]
                });
                pointfeatureLayer.setEditable(true);
    var pointsymbol =  new esri.symbol.SimpleMarkerSymbol(esri.symbol.SimpleMarkerSymbol.STYLE_CIRCLE, 10,
   new esri.symbol.SimpleLineSymbol(esri.symbol.SimpleLineSymbol.STYLE_SOLID,
   new dojo.Color([24, 167, 181]), 1),
   new dojo.Color([0,255,0,0.25]));
    var pointrenderer = new esri.renderer.SimpleRenderer(pointsymbol);
    pointfeatureLayer.setRenderer(pointrenderer);
    //line layer
    var linelayerDefinition = {
                    "geometryType": "esriGeometryPolyline",
                    "fields": [{
                        "name": "Buff",
                        "type": "esriFieldTypeOID",
                        "alias": "Buffer Distance",
                        
                    }]
                }    
                var linefeatureCollection = {
                    layerDefinition: linelayerDefinition,
                    featureSet: null
                };
                linefeatureLayer = new esri.layers.FeatureLayer(linefeatureCollection, {
                    mode: esri.layers.FeatureLayer.MODE_SNAPSHOT,
                    outfields: ["*"]
                });
                linefeatureLayer.setEditable(true);
    var linesymbol = new esri.symbol.SimpleLineSymbol().setColor(new dojo.Color([24, 167, 181]));
    var linerenderer = new esri.renderer.SimpleRenderer(linesymbol);
    linefeatureLayer.setRenderer(linerenderer);
    //polygon layer
    var polygonlayerDefinition = {
                    "geometryType": "esriGeometryPolygon",
                    "fields": [{
                        "name": "Buff",
                        "type": "esriFieldTypeOID",
                        "alias": "Buffer Distance",
                        
                    }]
                }    
                var polygonfeatureCollection = {
                    layerDefinition: polygonlayerDefinition,
                    featureSet: null
                };
                polygonfeatureLayer = new esri.layers.FeatureLayer(polygonfeatureCollection, {
                    mode: esri.layers.FeatureLayer.MODE_SNAPSHOT,
                    outfields: ["*"]
                });
                polygonfeatureLayer.setEditable(true);
    var polygonsymbol = new esri.symbol.SimpleFillSymbol().setColor(new dojo.Color([24, 167, 181]));
    var polygonrenderer = new esri.renderer.SimpleRenderer(polygonsymbol);
    polygonfeatureLayer.setRenderer(polygonrenderer);
                app.map.addLayers([polygonfeatureLayer, linefeatureLayer,pointfeatureLayer]);
            }
0 Kudos