Leaflet 传单绘制:区分多个控件
我添加了两个类似这样的传单绘制()实例(仅使用线条): 现在,我想听听Leaflet 传单绘制:区分多个控件,leaflet,Leaflet,我添加了两个类似这样的传单绘制()实例(仅使用线条): 现在,我想听听draw:drawvertex事件,并根据是否已激活drawControl或drawControl2执行不同的操作: map.on('draw:drawvertex', function (e) { console.log("Vertex drawn", e); }); 如何区分哪个drawControl当前处于活动状态?这里有一个不好的方法来知道哪个drawControl处于活动状态 诀窍是把它们放在不同的地图角落
draw:drawvertex
事件,并根据是否已激活drawControl
或drawControl2
执行不同的操作:
map.on('draw:drawvertex', function (e) {
console.log("Vertex drawn", e);
});
如何区分哪个drawControl当前处于活动状态?这里有一个不好的方法来知道哪个drawControl处于活动状态 诀窍是把它们放在不同的地图角落。它有助于检查当用户绘制时,哪些
ul.传单绘制动作
可见。div.paile-top
中的一个或div.paile-bottom
中的一个,例如:
var drawControl = new L.Control.Draw({
position: 'topleft',
draw: {
polygon: false,
rectangle: false,
circle: false,
marker: false
}
});
map.addControl(drawControl);
var drawControl2 = new L.Control.Draw({
position: 'bottomleft',
draw: {
polygon: false,
rectangle: false,
circle: false,
marker: false
}
});
map.addControl(drawControl2);
map.on('draw:drawvertex', function (e) {
console.log("Vertex drawn", e);
if ($('div.leaflet-top ul.leaflet-draw-actions').is(':visible')){
console.log('it was drawn with drawControl');
}
else {
console.log('it was drawn with drawControl2 !');
}
});
它很脏,但能用
var drawControl = new L.Control.Draw({
position: 'topleft',
draw: {
polygon: false,
rectangle: false,
circle: false,
marker: false
}
});
map.addControl(drawControl);
var drawControl2 = new L.Control.Draw({
position: 'bottomleft',
draw: {
polygon: false,
rectangle: false,
circle: false,
marker: false
}
});
map.addControl(drawControl2);
map.on('draw:drawvertex', function (e) {
console.log("Vertex drawn", e);
if ($('div.leaflet-top ul.leaflet-draw-actions').is(':visible')){
console.log('it was drawn with drawControl');
}
else {
console.log('it was drawn with drawControl2 !');
}
});