Tengo una sencilla aplicación de edición con el siguiente código:
startEditing : function(template) {
var drawingTool = template.template.drawingTool;
switch(drawingTool) {
case FeatureTemplate.TOOL_POINT:
drawingTool = Draw.POINT;
break;
}
on(this.drawingToolbar, "draw-end", lang.hitch(this, this.createFeature, template));
this.drawingToolbar.activate(drawingTool);
}
y
createFeature : function(template, evt) {
var featureLayer = template.featureLayer;
template = template.template;
var prototype = template.prototype;
var geometry = evt.geometry;
var graphic = new Graphic(prototype.toJson());
graphic.setGeometry(geometry);
this.initAttributes(graphic, featureLayer).then(function() {
var features = [graphic];
featureLayer.applyEdits(features).then(function(addResults) {
var objectIds = array.map(addResults, function(addResult) {
return addResult.objectId;
});
var q = new Query();
q.objectIds = objectIds;
featureLayer.selectFeatures(q).then(function(features) {
main.openForm(features);
});
});
});
}
Utilizando una herramienta de punto con la barra de herramientas de dibujo, me encuentro con que cuando hago clic en un punto del mapa, la función createFeature se llama dos veces, lo que resulta en la creación de 2 características con la misma geometría. ¿Cómo puedo evitar que la barra de herramientas de dibujo cree 2 características?