javascript - 如何在标记上居中 map 并以一种方法打开标记的信息窗口

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

最佳答案

您需要先执行 addListener 以等待 map 完成移动并触发“moveend”事件。然后在您的事件处理程序中对您创建的监听器调用 removeListener,以便事件处理程序只运行一次。之后在事件处理程序中打开您的信息窗口。

关于javascript - 如何在标记上居中 map 并以一种方法打开标记的信息窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2146751/

相关文章:

javascript - 使用 Gmaps4rails gem 调用 ReplaceMarkers 后 Gmaps.map.callback 不起作用?

javascript - 谷歌地图标记点击并拖动特定缩放级别

javascript - api获取请求,处理404

javascript - 如何重新定位 CSS 悬停弹出窗口以保持在固定框架内?

android - 如何检索当前设备位置并将其显示在 fragment 中的 map fragment 上

javascript - 在没有 URL 的应用程序中使用 Google Map V3 API ClientID

javascript - 发送错误消息的条件(JSON、SQL)

c# - 如何在浏览器关闭时触发事件

android - Google map 标记图标在 Xamarin Android 中变得模糊

AngularJS: 'google-maps':信息窗口中的调用指令