首页 > 解决方案 > 拖动折线使端点消失

问题描述

我创建了一条折线,带有可拖动的端点。但是,当我不小心拖动线本身而不是点时,点消失了,我不能再拖动它们了。为什么会发生这种情况,我该如何解决?

            var array = [];
            array.push([window.tabmap.getBounds().getCenter().lat, window.tabmap.getBounds().getCenter().lng]);
            array.push([window.tabmap.getBounds().getCenter().lat, window.tabmap.getBounds().getCenter().lng + 0.001]);
            if (window.polylines [window.currentSelectedLaneID] != undefined) {
                console.log("Polylines" + (window.polylines [window.currentSelectedLaneID])._latlngs);
            }

            if (window.polylines [window.currentSelectedLaneID] == undefined) {
                window.polylines [window.currentSelectedLaneID] = L.polyline(array).addTo(window.tabmap);
                window.polylines [window.currentSelectedLaneID].enableEdit();
                setPolylineNodes(window.currentSelectedLaneID, window.polylines [window.currentSelectedLaneID], undefined);

                window.tabmap.on('editable:editing', ({layer}) => {
                    if (layer instanceof L.Marker) {
                        setPolylineNodes(window.currentSelectedLaneID, window.polylines [window.currentSelectedLaneID], layer.getLatLngs());
                    } else if (layer instanceof L.Polyline) {
                        setPolylineNodes(window.currentSelectedLaneID, window.polylines [window.currentSelectedLaneID], layer.getLatLngs());
                    }

                    if (MapData.lanes[window.currentSelectedLaneID].laneDirection != "00" && MapData.lanes[window.currentSelectedLaneID].laneDirection != "11") {
                       window.tabmap.removeLayer(window.decorators[window.currentSelectedLaneID]);
                        }
                        window.decorators[window.currentSelectedLaneID] = L.polylineDecorator(window.polylines[window.currentSelectedLaneID], {
                            patterns: [
                                {
                                    offset: '33%',
                                    repeat: "33%",
                                    symbol: L.Symbol.arrowHead({
                                        pixelSize: 15,
                                        polygon: false,
                                        pathOptions: {stroke: true}
                                    })
                                }
                            ]
                        }).addTo(window.tabmap);

标签: javascriptleaflet

解决方案


推荐阅读