2010-01-27 5 views
5

J'utilise Google Map APIv2. Sur ma page web j'ai une barre latérale contenant une liste de marqueurs avec méthode événement onclick exécution de showDetails, qui ressemble à:Comment centrer la carte sur le marqueur et ouvrir l'InfoWindow du marqueur en une seule méthode

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

Le problème est que je ne peux pas à la fois panTo et openInfoWindowHtml dans une méthode, casseroles mais ne sera pas infobulle ouverte et quand je change méthode:

GMarker.prototype.showDetails=function() { this.openInfoWindowHtml(this.details); map.panTo(this.getLatLng()); }; ouvre infobulle mais cartographierons pas aux coordonnées du centre d'ancrage du marqueur. Même en utilisant la fonction d'attente ne résout pas mon problème. Qu'est-ce que je fais de mal?

Répondre

1

Vous devez d'abord faire un addListener pour attendre que la carte se soit déplacée avec l'événement 'moveend'. Ensuite, dans votre gestionnaire d'événements, appelez removeListener sur l'écouteur que vous avez créé de sorte que le gestionnaire d'événements ne s'exécute qu'une seule fois. Après cela, dans le gestionnaire d'événements, ouvrez votre fenêtre d'informations.

0

la méthode openInfoWindowHtml devrait déclencher une pantomime de mettre le infowindow dans la fenêtre

marqueur

-à-dire

est en dehors de la fenêtre et vous déclenchez le infowindow sur ce marqueur - la carte devrait Pan à cet endroit +/- pour que l'infowindow soit centré dans la vue

Questions connexes