2010-01-27 12 views
5

Sto utilizzando Google Maps APIv2. Sulla mia pagina web ho una barra laterale contenente un elenco di marcatori con evento onclick esecuzione metodo ShowDetails, che assomiglia a:Come centrare la mappa sull'indicatore e sulla finestra Info di un indicatore aperto con un metodo

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

Il problema è che io possa non entrambi panto e openInfoWindowHtml in un unico metodo, tegami ma non aprirò il suggerimento e quando cambierò metodo:

GMarker.prototype.showDetails=function() { this.openInfoWindowHtml(this.details); map.panTo(this.getLatLng()); }; apre la descrizione ma non centra la mappa alle coordinate di ancoraggio del marcatore. Anche l'utilizzo della funzione di attesa non risolve il mio problema. Cosa sto sbagliando?

risposta

1

È necessario prima fare un addListener per attendere fino a quando la mappa non viene spostata con l'evento 'moveend'. Quindi nella chiamata al gestore di eventi removeListener sul listener che hai creato in modo che il gestore eventi venga eseguito una volta sola. Dopodiché nel gestore eventi apri la tua finestra informativa.

0

il metodo openInfoWindowHtml dovrebbe innescare un panto per mettere l'infowindow nella finestra

cioè

marcatore è al di fuori della finestra e si attiverà l'infowindow su quel marker - mappa dovrebbe padella per quella posizione +/- in modo che l'infowindow sia centrato nel viewport

Problemi correlati