2012-09-14 15 views
12

Sto tentando di simulare un utente che fa clic su una mappa di Google, utilizzando l'API v3, dopo aver geolocalizzato la loro posizione quando annotano il loro indirizzo.Simula un clic in una mappa di Google

ho usato per fare:

google.maps.event.trigger(map, 'click', { 
    latLng: new google.maps.LatLng(lat, lng) 
}); 

Ma ora ho ottenuto un errore:

Uncaught TypeError: Cannot read property 'wa' of undefined main.js:727

ho bisogno di simulare il click perché sto utilizzando Drupal con un campo CCK, e che sta facendo questo su click sotto il cofano che non si attivano se aggiungo il pick di posizione come marker.

+0

Quali sono i valori di Lat e lng? Stai cercando di ottenere l'attuale lat lng del clic? Il clic deve essere sulla mappa per far scoppiare l'evento che conterrà il lat lng ... se è quello che stai cercando di ottenere? Suppongo che dobbiamo vedere più codice per capire quale potrebbe essere la soluzione. –

+0

No, voglio forzare un clic sull'elemento, inviando il lat e long ad esso. – penyaskito

+0

Questo elemento sarebbe incorporato nella mappa di google? Voglio dire se metti un marker sulla mappa, dagli un identificativo, puoi accedere a quel marker. –

risposta

18

'click' evento dell'oggetto mappa prende un oggetto google.maps.MouseEvent come parametro:

var mev = { 
    stop: null, 
    latLng: new google.maps.LatLng(40.0,-90.0) 
} 

google.maps.event.trigger(map, 'click', mev); 

Live example here

+0

Ho ricevuto un errore "Uncaught TypeError: Can not call method" di undefined ". Sembra che google.maps.event non sia definito. Se provo con google.maps.Event, ottengo lo stesso errore: "Uncaught TypeError: Impossibile leggere la proprietà 'wa' di undefined main.js: 727" – penyaskito

+0

L'ho provato e funziona correttamente. Devi avere qualche altro errore. – Marcelo

+2

Se google.maps.event non è definito, stai tentando di utilizzare l'API di Google Maps prima che venga caricato o senza caricarlo. – geocodezip