2012-08-22 9 views
20

Come posso modificare le opzioni di mappa di una V3 (dopo che la mappa iniziale è stata caricata)?Modifica oggetto v2 mapOptions di Google Maps dopo il caricamento

In particolare, mi piacerebbe essere in grado di capovolgere l'opzione

draggable: false 

a

draggable: true 

Quando viene attivata un'azione (come ad esempio un clic su un div).

Aggiunta: Ho cercato di carico jQuery-ui-map e l'utilizzo di:

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

Tuttavia questo sembra per ricaricare la carta e dimenticare tutte le altre opzioni esistenti. Potrei ridefinirli tutti, ma sembra un po 'hacker.

Qualsiasi suggerimento apprezzato.

Grazie!

+1

stavo per dire, perché mai complicare le cose con jQuery quando è abbastanza facile da fare direttamente .... contento che hai già scoperto?. :-) – Marcelo

+0

Per favore, rispondi alla tua domanda per chiuderla. –

+0

qualche idea del perché questo non funziona per aggiornare i controlli? cioè map.set (scaleControl, false); –

risposta

36

Trovato che non ho nemmeno bisogno di jQuery per questo - è già parte dell'API di Google Maps. Semplicemente:

map.set('draggable', true); 

Troppo facile! Spero che aiuti qualcuno.

2

Se è già stata creata la mappa in precedenza, è possibile impostare diverse opzioni (https://developers.google.com/maps/documentation/javascript/reference#MapOptions) in una sola volta in questo modo:

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

map.set(myOptions); 
+3

Questo tipo ha funzionato per me, ma il mio oggetto mappa non ha una funzione 'set()', quindi ho dovuto usare 'setOptions (myOptions) ', ma grazie per il suggerimento! – Unixmonkey

+0

@Unixmonkey Thanks =) –

5

Google Maps API JavaScript V3.25 aggiornamento

noti che map.set() non funziona nelle versioni più recenti dell'API di Maps. Devi usare map.setOptions()

Fonte: Google Maps Reference

+1

Buon punto. Uso sintattico rapido per coloro che non conoscono: map.setOptions ({gestureHandling: 'greedy'}); – Ian

Problemi correlati