Using openlayers (latest - 4), I have a drawing interaction that draws a circle -
let drawCircle = new ol.interaction.Draw({source: source, type: "Circle"});
map.addInteraction(drawCircle);
Both left mouse and right mouse click have the same behavior with this interaction- they start and stop the drawing of the circle.
I also have a context menu, so I do not want the right click to do anything with the interaction, just the left click.
How do I make this happen?
Answer
You can use condition option for ol.interaction.Draw.
when condition meets, drawing will be started.
In your case, drawing should be start with leftclick(which means button code 1)
So, simply add this code into ol.interaction.Draw's option.
condition: function(e) {
// when the point's button is 1(leftclick), allows drawing
if (e.pointerEvent.buttons === 1) {
return true;
} else {
return false;
}
}
https://codepen.io/anon/pen/PRmJYb
No comments:
Post a Comment