如何在一个方法中将地图居中于标记并打开标记的信息窗口

5
我正在使用Google Map APIv2。 在我的网页上,我有一个侧边栏,其中包含一个标记列表,点击事件执行showDetails方法,看起来像这样:
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()); };
它会打开工具提示,但不会将地图居中到标记的锚点坐标。 即使使用wait函数也无法解决我的问题。 我做错了什么?
2个回答

1
您需要先使用addListener来等待地图完成移动并触发'moveend'事件。然后在事件处理程序中调用removeListener以便只运行一次事件处理程序。之后,在事件处理程序中打开您的信息窗口。

0

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

标记位于视口之外,您触发该标记上的infowindow - 地图应该平移至该位置+/-,以使infowindow居中显示在视口中


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接