根据这个代码框,我用来生成反应地图,我已经实现了抽屉插件。在这里,我想删除我添加到地图中的最后一个形状,并创建并显示新地图而不是最后一个形状。有没有这样做的高性能方法?
问问题
54 次
1 回答
1
将最后一层存储在create
事件中的变量中:
var lastLayer = null;
map.on(L.Draw.Event.CREATED, function (e) {
var type = e.layerType,
layer = e.layer;
if (type === "marker") {
const { lat, lng } = layer._latlng;
console.log(lat, lng);
}
if (type === "rectangle") {
const latlngs = layer._latlngs;
let thisPpp = "";
latlngs[0].map((item) => {
return (thisPpp += `LatLng(${item.lat}, ${item.lng}),`);
});
}
lastLayer = layer; // <---------------
drawnItems.addLayer(layer);
});
然后你可以删除最后一层:
if(lastLayer){
lastLayer.remove();
}
于 2021-03-21T08:15:30.740 回答