J'ai le code suivant que je suis en train de lire lorsqu'un graphique est déplacé (la mise à l'échelle et la rotation utilisent un code similaire).Impossible d'ajouter une opération d'annulation/de restauration correcte pour déplacer/mettre à l'échelle/faire pivoter avec arcgis
//Obtaining the graphic before it is moved
moveToolbar.on("graphic-move-start", function (evt) {
oldGraphicMove = evt.graphic;
});
//Updating the graphic on move end
moveToolbar.on("graphic-move-stop", function (evt) {
//Creating the operation to add to the undomanager
var operation = new Update({
featureLayer: evt.graphic._graphicsLayer, //The layer that will contain the modified graphic
preUpdatedGraphics: [oldGraphicMove], //The graphic before the changes are created
postUpdatedGraphics: [evt.graphic] //The graphic after the changes are made
});
//Adding the undo/redo operation
undoManager.add(operation);
//Updating the graphic
evt.graphic._graphicsLayer.applyEdits(null, [evt.graphic], null);
});
Pour une raison inconnue, l'ancien graphique reste toujours égal au nouveau graphique. Après l'ajout de l'opération, il n'y a rien à annuler/rétablir car le graphique est marqué comme égal avant et après.
Je n'ai aucune idée de ce que je pourrais faire de mal, des indices à ce sujet?
Pourriez-vous partager un échantillon chez JSBIN? Ce serait plus facile d'aider. Je suppose que moveToolbar est une couche graphique, mais plus d'informations serait bien. En passant, vous utilisez evt hors de la portée, n'est-ce pas? BTW: Je suppose que vous connaissez [cet exemple] (https://developers.arcgis.com/javascript/3/sandbox/sandbox.html?sample=graphics_undoredo), non? – hhkaos
JSBIN? moveToolbar est une barre d'outils d'Esri, elle affecte la couche sur la carte en fonction des opérations assignées à la barre d'outils et de la couche assignée: moveToolbar.activate (esri.toolbars.Edit.MOVE | esri.toolbars.Edit.SCALE | esri.toolbars .Edit.ROTATE, tempMoveLayer.graphics [graphicNum]) Ouais, je le sais, et pour l'ajout, l'édition et la suppression de graphiques, je n'ai pas de problèmes aussi bien que pour annuler et refaire des mouvements de vertex. Le problème est avec le mouvement, l'échelle et la rotation – Maeglin77