2012-09-14 31 views
12

Ich versuche, einen Benutzer zu simulieren, klicken Sie auf eine Google Map mit API v3, nachdem ich ihre Position geolocate, wenn sie ihre Adresse aufschreiben.Simulieren Sie einen Klick in einer Google Map

Früher habe ich tun:

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

Aber jetzt habe ich einen Fehler:

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

Ich brauche den Klick zu simulieren, weil ich Drupal mit einem CCK Feld bin mit, und es tut Dies gilt für Klicks unter der Haube, die nicht ausgelöst werden, wenn ich die Standortauswahl als Markierung hinzufüge.

+0

Was die Werte von lat und lng sind? Versuchen Sie, den aktuellen Link des Klicks zu erhalten? Der Klick muss auf der Karte sein, um das Ereignis zu blasen, das das lat lng enthalten würde ... wenn das ist, was du versuchst zu bekommen? Ich denke, wir müssen mehr Code sehen, um herauszufinden, was die Lösung sein könnte. –

+0

Nein, ich möchte einen Klick auf das Element erzwingen, indem ich lat & long dorthin sende. – penyaskito

+0

Würde dieses Element in die Google Map eingebettet werden? Ich meine, wenn du einen Marker auf die Karte legst, gib ihm eine ID, du kannst auf diesen Marker zugreifen. –

Antwort

18

Die Karte des Objekts 'Klick' Ereignis nimmt google.maps.MouseEvent Objekt als Parameter:

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

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

Live example here

+0

Ich habe einen "Uncaught TypeError: Kann Methode 'Trigger' von undefined nicht aufrufen". Es scheint, dass google.maps.event nicht definiert ist. Wenn ich mit google.maps.Event versuche, bekomme ich den gleichen Fehler: "Uncaught TypeError: Kann Eigenschaft 'wa' von undefined main.js nicht lesen: 727" – penyaskito

+0

Ich habe es getestet und es funktioniert gut. Sie müssen einen anderen Fehler haben. – Marcelo

+2

Wenn google.maps.event nicht definiert ist, versuchen Sie, das Google Maps-API zu verwenden, bevor es geladen wird oder nicht geladen wird. – geocodezip

Verwandte Themen