为什么我不使用Google Maps的panTo()方法或路线?

时间:2009-08-06 22:25:11

标签: json google-maps

我遇到了使用panTo()方法对地图进行居中的问题 - 以及使指示(从/到)像标签一样工作。

这是我的代码:

http://dpaste.com/76251/

2 个答案:

答案 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());
});