2012-08-22 7 views
20

Wie kann ich die mapOptions einer V3-Karte ändern (nachdem die ursprüngliche Karte geladen wurde)?Google Maps v3 mapOptions-Objekt nach dem Laden ändern

Insbesondere möchte ich in der Lage sein mag das

draggable: false 

Option

draggable: true 

Wenn eine Aktion (wie ein Klick auf ein div) zu kippen ausgelöst wird.

Ergänzung: Ich habe Laden jquery-ui-Karte versucht und mit:

$('#map').gmap('option', 'draggable', true); 

Allerdings scheint die Karte neu zu laden und alle anderen bestehenden Optionen vergessen. Ich könnte sie alle neu definieren, aber das scheint ein wenig hackisch zu sein.

Alle Hinweise geschätzt.

Danke!

+1

Ich wollte sagen, warum auf der Erde die Dinge komplizieren mit jQuery, wenn es einfach genug ist, es direkt zu tun .... froh, dass Sie bereits herausgefunden?. :-) – Marcelo

+0

Bitte beantworten Sie Ihre eigene Frage, um es zu schließen. –

+0

eine Idee, warum dies nicht funktioniert, um die Steuerelemente zu aktualisieren? zB map.set (scaleControl, false); –

Antwort

36

Gefunden, dass ich nicht einmal jQuery dafür brauche - es ist bereits Teil der Google Maps API. Einfach tun:

map.set('draggable', true); 

Zu einfach! Hoffe es hilft jemandem.

2

Wenn Sie bereits die Karte zuvor erstellt haben, können Sie wie folgt auf einmal mehrere Optionen (https://developers.google.com/maps/documentation/javascript/reference#MapOptions) gesetzt:

var myOptions = { 
        zoom:11, 
        center: new google.maps.LatLng(-34.397, 150.644), 
        mapTypeId: google.maps.MapTypeId.ROADMAP, 
        panControl: false 
       }; 

map.set(myOptions); 
+3

Diese Art von arbeitete für mich, aber meine Karte Objekt hat keine 'set()' -Funktion, so dass ich 'setOptions (myOptions) ', aber danke für den Tipp! – Unixmonkey

+0

@Unixmonkey Thanks =) –

5

Google Maps JavaScript API V3.25 Update

Beachten Sie, dass map.set() funktioniert nicht in neueren Versionen von Maps API. Sie haben map.setOptions()

Quelle zu verwenden: Google Maps Reference

+1

Guter Punkt. Schnelle Syntaxverwendung für Nicht-Vertraute: map.setOptions ({gestenHandling: 'gierig'}); – Ian