0

我又卡住了。放置标记并连接它们正在工作。感谢“Falke Design” :-) 现在我想删除最后一个标记(航点),当我点击“删除最后一个航点”按钮时。我设法做到了并且工作得很好,但最后一行没有被删除。完整代码您可以在这里找到: 演示代码

此问题应在函数 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)
    })      
}

请帮我!非常感谢你:-)

4

1 回答 1

0

将您的代码更改为:

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

于 2020-07-07T08:23:03.743 回答