Estoy utilizando la API de Google Maps (v3) para dibujar algunos mapas en una página. Una cosa que me gustaría hacer es desactivar el zoom cuando se desplaza la rueda del ratón sobre el mapa, pero no estoy seguro de cómo.
He deshabilitado el scaleControl (es decir, he eliminado el elemento UI de escalado), pero esto no impide el escalado con la rueda de desplazamiento.
Aquí está parte de mi función (es un simple plugin de jQuery):
$.fn.showMap = function(options, addr){
options = $.extend({
navigationControl: false,
mapTypeControl: false,
scaleControl: false,
draggable: false,
mapTypeId: google.maps.MapTypeId.ROADMAP
}, options);
var map = new google.maps.Map(document.getElementById($(this).attr('id')), options);
// Code cut from this example as not relevant
};
En la versión 3 de la API de Mapas puede simplemente establecer la opción scrollwheel
en false dentro de las propiedades MapOptions:
options = $.extend({
scrollwheel: false,
navigationControl: false,
mapTypeControl: false,
scaleControl: false,
draggable: false,
mapTypeId: google.maps.MapTypeId.ROADMAP
}, options);
Si estuviera utilizando la versión 2 de la API de Mapas, tendría que utilizar la llamada a la API disableScrollWheelZoom() de la siguiente manera:
map.disableScrollWheelZoom();
El zoom scrollwheel
está activado por defecto en la versión 3 de la API de Mapas, pero en la versión 2 está desactivado a menos que se active explícitamente con la llamada a la API enableScrollWheelZoom()
.
El código de Daniel's hace el trabajo (¡muchas gracias!). Pero quería desactivar el zoom por completo. Encontré que tenía que usar las cuatro opciones para hacerlo:
{
zoom: 14, // Set the zoom level manually
zoomControl: false,
scaleControl: false,
scrollwheel: false,
disableDoubleClickZoom: true,
...
}
En mi caso lo crucial fue poner en 'scrollwheel':false
en init. Nota: Estoy usando jQuery UI Map
. Abajo está el título de mi función init CoffeeScript:
$("#map_canvas").gmap({'scrollwheel':false}).bind "init", (evt, map) ->