2012-08-21 8 views
5

Estoy implementando google maps en un sitio web y todo está funcionando bien, excepto que parece que no puedo deshabilitar el scrollwheel después de que los mapas se hayan cargado . Si configuro la opción antes de que el mapa se cargue en scrollwheel: false, la rueda de desplazamiento se desactiva, pero si intento hacerlo más tarde (tengo una casilla de verificación que activa/desactiva la rueda de desplazamiento).Google Maps API v3 no deshabilitará la rueda de desplazamiento después de cargar el mapa

Éstos son mis opciones para el mapa Google en la página de carga:

var myOptions = { 
      zoom: 15, 
      center: currentPosition, 
      draggable: true, 
      scrollwheel: true, 
      mapTypeId: google.maps.MapTypeId.ROADMAP 
     }; 

mapa = new google.maps.Map (document.getElementById ("map_canvas"), myoptions);

y luego de que el evento haga clic en activar la casilla de verificación, tengo el siguiente código para deshabilitar la rueda de desplazamiento. lo suficientemente gracioso, el draggable = falso funciona y me impide arrastrar el mapa.

var checked = $('#chkPin').is(':checked'); 
     log("map active: " + checked); 
     if (checked) { 
      map.scrollwheel = false; 
      map.draggable = false; 
      map.zoomControl = false; 
     } else { 
      map.scrollwheel = true; 
      map.draggable = true; 
      map.zoomControl = true; 
     } 

Respuesta

25

La edición de propiedades no documentadas en los objetos de la API Maps no es compatible y puede generar resultados impredecibles. No debe modificar propiedades directamente en un objeto de mapa. En su lugar, modificar las propiedades utilizando una de las opciones documentadas: definida específicos captadores

objetos/setters:

map.setOptions({'scrollwheel': false}); 

MVCObject genéricos getters/setters:

map.set('scrollwheel', false); 
var isScrollWheelEnabled = map.get('scrollwheel'); 

Ambas opciones rueda de desplazamiento deshabilitado correctamente zoom del mapa después de que ya se haya inicializado.

+0

Ah, vale, ¡muchas gracias! – Halceyon

+0

¡Respuesta perfecta, funciona genial para mí! +1 – Jan

Cuestiones relacionadas