2016-07-26 68 views
0

我正在開發使用Leaflet的Web地圖應用程序。該應用程序使用戶能夠使用Leaflet Leaflet.Draw插件在地圖上繪製對象。用戶還可以編輯或刪除繪製的對象。單張繪製revertLayers不起作用

我在使用Leaflet Draw中的revertLayers函數時遇到了一些問題。當用戶取消更改時,圖層將恢復到其原始狀態,但在下一次編輯時,它會顯示拖動對象節點的點未被還原。

enter image description here

這是我的編輯控件代碼:

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(); 
}); 

回答

0

我認爲這可能是與0.3.0版本Leaflet.Draw插件做。我改爲0.2.7版本,問題沒有了。