【问题标题】:How to center map on marker and open marker's InfoWindow in one method如何在标记上居中地图并以一种方法打开标记的信息窗口
【发布时间】:2011-01-09 22:40:38
【问题描述】:

我正在使用 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()); }; 它会打开工具提示,但不会将地图居中到标记的锚点坐标。 即使使用等待功能也不能解决我的问题。 我做错了什么?

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      openInfoWindowHtml 方法应该触发 panto 将信息窗口放入视口中

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-04-11
        • 1970-01-01
        • 2023-03-13
        相关资源
        最近更新 更多