Leaflet - How to match marker and polyline on drag and drop #2(通过单击按钮删除最后一个标记和折线)
Leaflet - How to match marker and polyline on drag and drop #2 (delete the last marker and polyline with button click)
我又卡住了。
放置标记并连接它们是有效的。感谢“Falke 设计”:-)
现在我想删除最后一个标记(Waypoint),当我点击“删除最后一个 Waypoint”按钮时。
我设法做到了并且运行良好,但最后一行没有被删除。
完整代码你可以在这里找到:
Demo code
这个问题应该在
函数 delteLastWp()
第 218 行
function delteLastWp(id) {
var new_markers = []
marker_new.forEach(function(marker) {
if (marker._id == id) {
map.removeLayer(marker);
}
else new_markers.push(marker)
})
marker_new = new_markers
// remove the last point/line in the polyline as well !
var new_polylines = []
tempLine.forEach(function(polyline) {
if (polyline._id == id) {
map.removeLayer(polyline); //*** This si not working ****
// remove the last point in the polyline as well !
}
else new_polylines.push(polyline)
})
}
请帮帮我!非常感谢您:-)
将您的代码更改为:
function delteLastWp() // ## with the last segment of the polyline
{ //marker_new[lineCount]
var new_markers = []
marker_new.forEach(function(marker) {
if (marker._id == lineCount) {
map.removeLayer(marker); // Working :-)
lineCount--;
}
else new_markers.push(marker)
})
marker_new = new_markers;
var latlngs = tempLine.getLatLngs()
latlngs.splice(-1);
tempLine.setLatLngs(latlngs);
}
您从行中加载 latlng,然后删除最后一个 latlng,然后再次将其添加到 tempLine
我又卡住了。 放置标记并连接它们是有效的。感谢“Falke 设计”:-) 现在我想删除最后一个标记(Waypoint),当我点击“删除最后一个 Waypoint”按钮时。 我设法做到了并且运行良好,但最后一行没有被删除。 完整代码你可以在这里找到: Demo code
这个问题应该在 函数 delteLastWp() 第 218 行
function delteLastWp(id) {
var new_markers = []
marker_new.forEach(function(marker) {
if (marker._id == id) {
map.removeLayer(marker);
}
else new_markers.push(marker)
})
marker_new = new_markers
// remove the last point/line in the polyline as well !
var new_polylines = []
tempLine.forEach(function(polyline) {
if (polyline._id == id) {
map.removeLayer(polyline); //*** This si not working ****
// remove the last point in the polyline as well !
}
else new_polylines.push(polyline)
})
}
请帮帮我!非常感谢您:-)
将您的代码更改为:
function delteLastWp() // ## with the last segment of the polyline
{ //marker_new[lineCount]
var new_markers = []
marker_new.forEach(function(marker) {
if (marker._id == lineCount) {
map.removeLayer(marker); // Working :-)
lineCount--;
}
else new_markers.push(marker)
})
marker_new = new_markers;
var latlngs = tempLine.getLatLngs()
latlngs.splice(-1);
tempLine.setLatLngs(latlngs);
}
您从行中加载 latlng,然后删除最后一个 latlng,然后再次将其添加到 tempLine