我正在开发一个使用gmaps4rails的应用程序(https://github.com/apreading/googlemapsforrails)我想在标记中添加一个事件侦听器,以便它在地图旁边创建一个可视化(以及在地图上显示一个信息窗口)是否可以使用gmaps4rails为每个标记添加一个事件侦听器?

最佳答案

当然有可能。
您应该在gmaps4rails_callbackjavascript函数中编写代码,以确保在所有设置完成时都执行了代码。
然后循环markersjs变量:Gmaps4Rails.markers
此数组中每个标记的属性为:
经度
纬度
包含google标记的google_对象
那是说你想做什么就做什么。
作为补充说明,地图也可以用于Gmaps4Rails.map
一般来说,阅读gmaps4rails.js文件,它有很好的文档记录(我希望!).
编辑:
你在评论中解释的问题很奇怪,当我使用:

google.maps.event.addListener(Gmaps4Rails.markers[0].google_object, 'click', function(object){ alert("hello"); });

我想你应该尝试使用更传统的循环,比如:
<script type="text/javascript">
function gmaps4rails_callback() {
  function say_yo(arg) { return function(){alert('yo '+ arg + '!' );};};
    for (var i = 0; i <  Gmaps4Rails.markers.length; ++i) {
      google.maps.event.addListener(Gmaps4Rails.markers[i].google_object, 'click', say_yo(i));
    }
}
</script>

关于ruby-on-rails - 使用gmaps4rails将事件监听器添加到标记,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6035984/

10-09 18:34