我有一个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();
});
是否可以用我拥有的颜色更改颜色?