如何在标记上居中地图并在一种方法中打开标记的InfoWindow

时间:2010-01-27 12:22:46

标签: javascript google-maps google-maps-markers

我正在使用Google Map APIv2。 在我的网页上,我有一个侧边栏,其中包含执行showDetails方法的onclick事件的标记列表,如下所示:

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

问题是我不能在一个方法中同时使用panTo和openInfoWindowHtml,它会平移但不会打开工具提示并且当我将方法更改为:

GMarker.prototype.showDetails=function() { this.openInfoWindowHtml(this.details); map.panTo(this.getLatLng()); }; 它打开工具提示,但不会将地图居中到标记的锚点坐标。 即使使用等待功能也无法解决我的问题。 我做错了什么?

2 个答案:

答案 0 :(得分:1)

你需要先做一个addListener,等到地图完成后再移动'moveend'事件。然后在事件处理程序中调用您创建的侦听器上的removeListener,以便事件处理程序只运行一次。之后在事件处理程序中打开您的信息窗口。

答案 1 :(得分:0)

openInfoWindowHtml方法应该触发panto将infowindow放在视口中

标记位于视口之外,您触发该标记上的信息窗口 - 地图平移到该位置+/-以使信息窗在视口中居中