Ik gebruik Google Maps API (v3) om een paar kaarten op een pagina te tekenen. Een ding dat ik graag zou willen doen is het zoomen uitschakelen wanneer je met het muiswiel over de kaart scrolt, maar ik weet niet zeker hoe.
Ik heb de scaleControl uitgeschakeld (d.w.z. het schaling UI element verwijderd), maar dit verhindert scroll wheel scaling niet.
Hier is een deel van mijn functie (het'is een eenvoudige 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
};
In versie 3 van de Maps API kun je eenvoudig de scrollwheel
optie op false zetten binnen de MapOptions eigenschappen:
options = $.extend({
scrollwheel: false,
navigationControl: false,
mapTypeControl: false,
scaleControl: false,
draggable: false,
mapTypeId: google.maps.MapTypeId.ROADMAP
}, options);
Als je versie 2 van de Maps API zou gebruiken, zou je de disableScrollWheelZoom() API call als volgt hebben moeten gebruiken:
map.disableScrollWheelZoom();
Het scrollwheel
zoomen is standaard ingeschakeld in versie 3 van de Kaarten API, maar in versie 2 is het uitgeschakeld tenzij het expliciet is ingeschakeld met de enableScrollWheelZoom()
API oproep.
Daniel's code doet het werk (heel erg bedankt!). Maar ik wilde het zoomen volledig uitschakelen. Ik vond dat ik alle vier deze opties moest gebruiken om dat te doen:
{
zoom: 14, // Set the zoom level manually
zoomControl: false,
scaleControl: false,
scrollwheel: false,
disableDoubleClickZoom: true,
...
}
In mijn geval was het belangrijkste om in 'scrollwheel':false
in te stellen in init. Merk op: Ik gebruik jQuery UI Map
. Hieronder staat mijn CoffeeScript init functie kop:
$("#map_canvas").gmap({'scrollwheel':false}).bind "init", (evt, map) ->