我正在使用Leaflet开发Web地图应用程序。该应用程序使用户可以使用Leaflet Leaflet.Draw插件在地图上绘制对象。用户还可以编辑或删除绘制的对象。
我在Leaflet Draw中的revertLayers函数遇到一些问题。当用户取消更改时,图层将还原为原始状态,但在下一次编辑中,它将显示拖动对象节点的点未还原。
这是我用于编辑控件的代码:
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();
});
我认为这可能与Leaflet.Draw插件的0.3.0版本有关。我更改为0.2.7版本,问题消失了。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句