dojo.connect(dijit.byId("Merge_Button"), "onClick", function () { editing_function = "Merge_From"; document.getElementById("Status_Message").innerHTML = "Select Polygon to Merge From" esri.bundle.toolbars.draw.addPoint = "Select Polygon to Merge From"; drawToolbar.activate(esri.toolbars.Draw.POINT); }); dojo.connect(drawToolbar, "onDrawEnd", function (geometry) { if (editing_function == "Merge_From") { var point_selectQuery = new esri.tasks.Query(); point_selectQuery.geometry = geometry; edit_featurelayer.selectFeatures(point_selectQuery, esri.layers.FeatureLayer.SELECTION_NEW, function (features) { if (features.length == 0) { r = confirm("Nothing Selected. Try again?"); if (r == true) { return; } drawToolbar.deactivate(); document.getElementById("Status_Message").innerHTML = "Nothing exciting going on around here"; return } merge_from_features = features; editing_function = "Merge_To"; document.getElementById("Status_Message").innerHTML = "Select Polygon to Merge To"; esri.bundle.toolbars.draw.addPoint = "Select Polygon to Merge To"; }); return; } if (editing_function == "Merge_To") { var point_selectQuery = new esri.tasks.Query(); point_selectQuery.geometry = geometry; edit_featurelayer.selectFeatures(point_selectQuery, esri.layers.FeatureLayer.SELECTION_ADD, function (features) { if (features.length == 0) { r = confirm("Nothing Selected. Try again?"); if (r == true) { return; } drawToolbar.deactivate(); document.getElementById("Status_Message").innerHTML = "Nothing exciting going on around here"; return } merge_to_features = features; editing_function = ""; document.getElementById("Status_Message").innerHTML = "Nothing exciting going on around here"; drawToolbar.deactivate(); var input_geometries; try { var from_g = merge_from_features[0].geometry; var to_g = merge_to_features[0].geometry; var input_geometries = [from_g, to_g]; geometryService.union(input_geometries, function (unioned_geometry) { var merge_from_feature = merge_from_features[0]; var merge_to_feature = merge_to_features[0]; var original_feature = merge_to_feature.toJson(); merge_to_feature.geometry = unioned_geometry; edit_featurelayer.applyEdits(null, [merge_to_feature], [merge_from_feature], function () { try { var operation = new esri.dijit.editing.Union({ deleted_graphics: [merge_from_feature], featureLayer: edit_featurelayer, preUpdatedGraphics: new esri.Graphic(original_feature), postUpdatedGraphics: [merge_to_feature] }); } catch (err) { alert(err.message); }; undoManager.add(operation); checkUI(); }); }); } catch (err) { alert(err.message); }; }); return; }; drawToolbar.deactivate();
Solved! Go to Solution.
var operation = new esri.dijit.editing.Union({ deleted_graphics: [merge_from_feature], featureLayer: edit_featurelayer, preUpdatedGraphics: new esri.Graphic(original_feature), postUpdatedGraphics: [merge_to_feature] });
var operation = new esri.dijit.editing.Union({ deletedGraphics: [merge_from_feature], featureLayer: edit_featurelayer, preUpdatedGraphics: [new esri.Graphic(original_feature)], postUpdatedGraphics: [merge_to_feature] });
var operation = new esri.dijit.editing.Union({ deleted_graphics: [merge_from_feature], featureLayer: edit_featurelayer, preUpdatedGraphics: new esri.Graphic(original_feature), postUpdatedGraphics: [merge_to_feature] });
var operation = new esri.dijit.editing.Union({ deletedGraphics: [merge_from_feature], featureLayer: edit_featurelayer, preUpdatedGraphics: [new esri.Graphic(original_feature)], postUpdatedGraphics: [merge_to_feature] });
var operation = new esri.dijit.editing.Union({ deletedGraphics: [merge_from_feature], featureLayer: edit_featurelayer, postUpdatedGraphics: [new esri.Graphic(original_feature)], preUpdatedGraphics: [merge_to_feature] });