2012-08-21 4 views
5

Ich implementiere Google Maps auf einer Website und alles funktioniert großartig, außer dass ich das Scrollrad nicht mehr deaktivieren kann, nachdem die Karten geladen wurden . Wenn ich die Option vor dem Laden der Karte auf scrollwheel: false einstelle, wird das Scrollrad deaktiviert, aber wenn ich es später versuche (ich habe ein Kontrollkästchen, das das Scrollrad aktiviert/deaktiviert).Google Maps API v3 wird das Scrollrad nach dem Laden der Karte nicht deaktivieren

Hier sind meine Optionen für die Google-Karte auf Seite laden:

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

Karte = new google.maps.Map (document.getElementById ("map_canvas"), myOptions);

und dann, nachdem das Click-Ereignis auf das Kontrollkästchen ausgelöst hat, habe ich den folgenden Code, um das Scrollrad zu deaktivieren. Lustig genug, das Ziehbare = Falsch funktioniert und hindert mich daran, die Karte zu ziehen.

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; 
     } 

Antwort

25

Das Bearbeiten nicht dokumentierter Eigenschaften in Google Maps-API-Objekten wird nicht unterstützt und kann zu unvorhersehbaren Ergebnissen führen. Sie sollten die Eigenschaften eines Kartenobjekts nicht direkt ändern. Stattdessen ändern Sie die Eigenschaften einer der dokumentierten Optionen:

Objekt spezifisch definiert Getter/Setter:

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

MVCObject generic Getter/Setter:

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

Beide Optionen erfolgreich deaktiviert Scrollrads Zoomen der Karte, nachdem sie bereits initialisiert wurde.

+0

Ah, ok, vielen Dank! – Halceyon

+0

Perfekte Antwort, es funktioniert gut für mich! +1 – Jan

Verwandte Themen