我有此mousemove功能:
$("#mapContainer").on("mousemove", "#colorpicker"+mapNo, function(event){
//do something here
//layer.setStyle({color: color, fillColor: color});
});
每当我在mousemove函数中删除 layer.setStyle 的注释时,都会出现错误“未定义图层” ,因此我希望调用mousemove函数当地图中已经存在图层时。我在定义图层的地方有此功能:
function drawCreated(e) {
type = e.layerType,
layer = e.layer;
layer.addTo(drawnItems);
console.log(type, ' drawn', layer);
//for drawing
if (type === 'circle') {
var theCenterPt = layer.getLatLng();
var theRadius = layer.getRadius();
var center = [theCenterPt.lng,theCenterPt.lat];
console.log(center);
points['lng'] = theCenterPt.lng;
points['lat'] = theCenterPt.lat;
points['radius'] = theRadius;
console.log(points);
drawnItems.addLayer(layer);
//drawnItems.setStyle({color: color, fillColor: color});
}
if(map.hasLayer(layer)){
console.log("true");
//must call the mousemove function here or mousemove will work when there is a layer
}else{
console.log("false");
}
}
答案 0 :(得分:0)
看看我的例子:
https://jsfiddle.net/falkedesign/95g08z71/10/
您必须用图层替换“圆形”。
// https://iro.js.org/guide.html#color-picker-events
colorPicker.on(["color:init", "color:change"], function(color){
circle.setStyle({fillColor: color.hexString});
});
要说什么在您的代码中不起作用,我需要一个有效的示例。也许您可以创建小提琴或将您的代码上传到网站。