I need to disable all map interactions, like map zoom, drag, scroll zoom, any kind of interaction.

Is there some easy way to do it?


I didn't try this code but I hope it does the work :

var Interactions=yourMap.getInteractions();
for(var interaction in Interactions){

this is for OL3

Edits :

when declaring the map, set the interactions to false within its attributes :

interactions: ol.interaction.defaults({
    doubleClickZoom :false,
    dragAndDrop: false,
    keyboardPan: false,
    keyboardZoom: false,
    mouseWheelZoom: false,
    pointer: false,
    select: false

and then using the method


you can re-enable them again, somehow setActive(false) didn't work for me, so here is a work around if it suits your needs

| improve this answer | |
  • Nope, still I can drag and zoom. – againstflow Jun 2 '16 at 15:47
  • how about defining the interactions "false" when you declare the map like this : interactions: ol.interaction.defaults({doubleClickZoom :false}), and so one for each interaction : dragAndDrop keyboardPan keyboardZoom mouseWheelZoom pointer select – Hicham Zouarhi Jun 2 '16 at 16:24

If you don't want any interactions, just put interactions:null into your map constructor like that :

var map = new ol.Map({

If you don't want zoom buttons and info button, just put controls: null into your map constructor again

var map = new ol.Map({
   interaction: null,
   control: null

There you go : a working fiddle for example

| improve this answer | |
  • is interactions not interaction – mariovials Jul 2 '19 at 21:16

Openlayers 5

var map = new ol.Map({
  controls: [],
  interactions: []
| improve this answer | |

map.getInteractions().forEach(x => x.setActive(false));

Works also with setActive(true) to re-enable interactions.

| improve this answer | |

Shamelessly copied from another answer. Do this for each interaction type (MouseWheelZoom, PinchZoom, etc.)

var dblClickInteraction;
// find DoubleClickZoom interaction
map.getInteractions().getArray().forEach(function(interaction) {
  if (interaction instanceof ol.interaction.DoubleClickZoom) {
    dblClickInteraction = interaction;
// remove from map
| improve this answer | |
  • 1
    please add link to the other answer – tinlyx Jun 15 '18 at 21:19
  • Welcome to GIS SE! As a new user be sure to take the Tour to learn about our focussed Q&A format. – PolyGeo Jun 16 '18 at 0:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.