Deaktivieren der Skalierung des Mausrads mit Google Maps API

Ich bin mit Google Maps API (v3) ein paar Karten auf einer Seite zu zeichnen. Eine Sache, die ich tun möchte, ist deaktivieren Zoomen, wenn Sie das Mausrad über die Karte scrollen, aber ich bin unsicher, wie.

Ich habe die scaleControl deaktiviert (d.h. entfernt die Skalierung UI-Element), aber dies doesn' t verhindern Scrollrad Skalierung.

Hier ist ein Teil meiner Funktion (es ist ein einfaches 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
};
Lösung

In Version 3 der Karten-API können Sie die Option "scrollwheel" in den MapOptions Eigenschaften einfach auf "false" setzen:

options = $.extend({
    scrollwheel: false,
    navigationControl: false,
    mapTypeControl: false,
    scaleControl: false,
    draggable: false,
    mapTypeId: google.maps.MapTypeId.ROADMAP
}, options);

Wenn Sie die Version 2 der Karten-API verwenden würden, müssten Sie den API-Aufruf disableScrollWheelZoom() wie folgt verwenden:

map.disableScrollWheelZoom();

Das "Scrollwheel"-Zooming ist in Version 3 der Maps-API standardmäßig aktiviert, aber in Version 2 ist es deaktiviert, sofern es nicht explizit mit dem API-Aufruf "enableScrollWheelZoom()" aktiviert wird.

Kommentare (5)

Daniel's Code erledigt die Aufgabe (vielen Dank!). Aber ich wollte das Zoomen komplett abschalten. Ich fand heraus, dass ich alle vier dieser Optionen verwenden musste, um dies zu tun:

{
  zoom: 14,                        // Set the zoom level manually
  zoomControl: false,
  scaleControl: false,
  scrollwheel: false,
  disableDoubleClickZoom: true,
  ...
}

Siehe: MapOptions Objektspezifikation

Kommentare (4)

In meinem Fall war es entscheidend, in init 'scrollwheel':false zu setzen. Beachte: Ich verwende [jQuery UI Map`] (https://code.google.com/p/jquery-ui-map/). Unten ist die Überschrift meiner CoffeeScript init-Funktion:

 $("#map_canvas").gmap({'scrollwheel':false}).bind "init", (evt, map) ->
Kommentare (0)