1 votos

interacción de openlayers sólo en el ratón izquierdo

Usando openlayers (último - 4), tengo una interacción de dibujo que dibuja un círculo -

let drawCircle = new ol.interaction.Draw({source: source, type: "Circle"});
map.addInteraction(drawCircle);

Tanto el clic izquierdo del ratón como el derecho tienen el mismo comportamiento con esta interacción: inician y detienen el dibujo del círculo.

También tengo un menú contextual, así que no quiero que el clic derecho haga nada con la interacción, sólo el clic izquierdo.

¿Cómo puedo hacer que esto suceda?

4voto

rymn Puntos 448

Puede utilizar condition opción para ol.interaction.Draw .
cuando se cumpla la condición, se iniciará el sorteo.

En su caso, el dibujo debe comenzar con el clic izquierdo (lo que significa que el código del botón 1 )
Así pues, basta con añadir este código en ol.interaction.Draw de la opción de la empresa.

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

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X