Jeg bruker Google Maps API (v3) til å tegne noen kart på en side. En ting jeg ønsker å gjøre er å deaktivere zooming når du ruller mushjulet over kartet, men jeg er usikker på hvordan.
Jeg har deaktivert scaleControl (dvs. fjernet skaleringsgrensesnittelementet), men dette forhindrer ikke skalering av rullehjulet.
Her er en del av funksjonen min (det er en enkel jQuery-plugin):
$.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
};
I versjon 3 av Maps API kan du ganske enkelt sette "scrollwheel"-alternativet til false i egenskapene MapOptions:
options = $.extend({
scrollwheel: false,
navigationControl: false,
mapTypeControl: false,
scaleControl: false,
draggable: false,
mapTypeId: google.maps.MapTypeId.ROADMAP
}, options);
Hvis du brukte versjon 2 av Maps API, måtte du ha brukt API-kallet disableScrollWheelZoom() som følger:
map.disableScrollWheelZoom();
Zooming med rullehjulet er aktivert som standard i versjon 3 av Maps API, men i versjon 2 er den deaktivert med mindre den eksplisitt aktiveres med API-kallet enableScrollWheelZoom()
.
Daniels kode gjør jobben (tusen takk!). Men jeg ønsket å deaktivere zooming helt. Jeg fant ut at jeg måtte bruke alle disse fire alternativene for å gjøre det:
{
zoom: 14, // Set the zoom level manually
zoomControl: false,
scaleControl: false,
scrollwheel: false,
disableDoubleClickZoom: true,
...
}
I mitt tilfelle var det avgjørende å sette inn 'scrollwheel':false
i init. Legg merke til: Jeg bruker jQuery UI Map
. Nedenfor er min CoffeeScript init-funksjonsoverskrift:
$("#map_canvas").gmap({'scrollwheel':false}).bind "init", (evt, map) ->