答案 0 :(得分:2)
我不太确定你想要地图做什么,但是你的panTo()
功能存在一个大问题。您将其放置在创建标记时调用的函数markerClickHandler()
内,该函数在页面加载时发生。因此,在加载页面时,您将调用panTo()
三次。
如果要在单击标记时调用它,请将其放在markerClickHandler()
返回的函数中。
但请注意,打开信息窗口(移动地图)可能会中断移动。我能想到的最佳解决方案是在窗口打开后移动地图。您可以将onOpenFn作为GInfoWindowOptions参数传递:
map.openInfoWindowTabsHtml(marker.getLatLng(), tabs, {
onOpenFn: function() {
map.panTo(marker.getLatLng());
}
});
注意:出于某种原因,这只有在我在地图对象而不是标记上调用openInfoWindowTabsHtml()
时才有效 - 我不知道为什么。
答案 1 :(得分:1)
您链接的示例代码段已不再可用,但假设Chris的答案,我假设您要将信息窗口打开的标记居中。我有同样的问题,并解决了这个问题:
GEvent.addListener(marker, 'infowindowopen', function() {
map.panTo(marker.getLatLng());
});