2016-07-26 16 views
0

Ich entwickle eine Web-Map-Anwendung mit Leaflet. Die App ermöglicht es Benutzern, Objekte auf der Karte mit dem Leaflet Leaflet.Draw-Plugin zu zeichnen. Benutzer können ein gezeichnetes Objekt auch bearbeiten oder löschen.Leaflet Draw revertLayers funktioniert nicht

Ich habe ein Problem mit der Funktion revertLayers in Leaflet Draw. Wenn der Benutzer die Änderungen abbricht, werden die Ebenen in ihren ursprünglichen Zustand zurückgesetzt. In der nächsten Bearbeitung werden jedoch die Punkte zum Ziehen der Objektknoten nicht zurückgesetzt.

enter image description here

Dies ist mein Code für den Edit-Control:

var editCtrlOptions = { 
    featureGroup: editableLayers, 
    selectedPathOptions: { 
     maintainColor: true, 
     opacity: 0.3 
    } 
} 

var editCtrl = new L.EditToolbar.Edit(map, editCtrlOptions); 

// On edit button click 
$('body').on("click", "#btn-edit", function() { 
    // enable the edit control 
    editCtrl.enable(); 
}); 

// On save edit button click 
$('body').on("click", "#btn-edit-save", function() { 
    // commit any changes made by the user 
    editCtrl.save(); 
    // disable the edit control 
    editCtrl.disable(); 
}); 

// On cancel edit button click 
$('body').on("click", "#btn-edit-cancel", function() { 
    // revert any changes made by the user 
    editCtrl.revertLayers();  
    // disable the edit control 
    editCtrl.disable(); 
}); 

Antwort

0

Ich denke, das könnte mit der 0.3.0-Version der Leaflet.Draw Plugin zu tun. Ich wechselte zu Version 0.2.7 und das Problem war weg.