leaflet.draw:更改现有形状的颜色

时间:2019-11-08 08:35:10

标签: javascript php codeigniter leaflet leaflet.draw

我有一个color全局变量,我为此使用了colorpicker。我可以获取颜色选择器的值,也可以使用我选择的颜色绘制形状(地理区域)。

我的问题是我无法编辑/更改现有形状的颜色。这是用于绘制和编辑形状的邻里格的方法:

function drawCreated(e) {
        type = e.layerType,
        layer = e.layer;
        //layer.dragging.enable();
        layer.addTo(drawnItems);
        console.log(type, ' drawn', layer);

        //for drawing
        if(type === 'rectangle'){
            console.log('rectangle');
            var rectangle = layer.getLatLngs();
            console.log(rectangle);
            drawnItems.addLayer(layer);

        }

        //for editing
        layer.on("edit", function(event) {
            //getting the lnglat when a shape is edited
            console.log("color edit",color);
            var content = "";

            if(type === "rectangle"){
                content = ' rectangle with : ' + layer.getLatLngs();
                var lngLat = layer.getLatLngs();
                console.log("new: ", lngLat);
            }

            //layer.bindPopup(content).openPopup();
        });
      }

并且我具有用于创建形状的此按钮:

$("#mapContainer").on("click", ".btnRectangleDraw",function(){
    rectangleDrawer = new L.Draw.Rectangle(map, {
        shapeOptions: {
            color: color,
            fillOpacity: opacity,
            fillColor: color,
            stroke: color,
            opacity: opacity,
            editable: true
            }
        });  
    map.on('draw:created', drawCreated);     
    rectangleDrawer.enable();
});

是否可以用我拥有的颜色更改颜色?

0 个答案:

没有答案