2010-01-27 4 views
5

Ich verwende Google Map APIv2. Auf meiner Homepage habe ich eine Sidebar eine Liste von Markern mit Onclick-Ereignis ausführt showdetails Methode enthält, die wie folgt aussieht:So zentrieren Sie die Karte auf dem Marker und öffnen das InfoWindow des Markers in einer Methode

GMarker.prototype.showDetails=function() { map.panTo(this.getLatLng()); this.openInfoWindowHtml(this.details); };

Das Problem ist, dass ich beide panTo und openInfoWindowHtml in einem Verfahren nicht, es Pfannen aber Tooltip nicht öffnen und wenn ich Methode ändern, um:

GMarker.prototype.showDetails=function() { this.openInfoWindowHtml(this.details); map.panTo(this.getLatLng()); }; es öffnet Tooltip aber wird nicht Karte zu den Anker Koordinaten der Marker. Selbst die Verwendung der Wartefunktion löst mein Problem nicht. Was mache ich falsch?

Antwort

1

Sie müssen zunächst einen addListener ausführen, um zu warten, bis die Map fertig ist und sich mit dem Event 'moveend' bewegt. Rufen Sie dann in Ihrer Ereignisbehandlungsroutine removeListener für den Listener auf, den Sie erstellt haben, sodass der Ereignishandler nur einmal ausgeführt wird. Danach öffnen Sie im Event-Handler Ihr Info-Fenster.

0

sollte die openInfoWindowHtml Methode eine panto lösen die Infofenster im Ansichtsfenster

dh

Marker außerhalb des Ansichtsfenster zu setzen und Sie lösen die Infofenster an diesem Marker - die Karte sollte Pfanne zu diesem Ort +/-, so dass das Infofenster im Ansichtsfenster zentriert ist