1

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

4

1 回答 1

5

当然有可能。

您应该在gmaps4rails_callbackjavascript 函数中编写代码,以确保在设置完所有内容时执行它。

然后循环markersjs变量:Gmaps4Rails.markers

该数组中每个标记的属性是:

  • 经度

  • 纬度

  • 包含 google 标记的 google_object

那就是说你可以为所欲为。

作为旁注,该地图也可用于Gmaps4Rails.map.

一般来说,阅读gmaps4rails.js文件,它有据可查(我希望!)。

编辑:

您在评论中解释的问题很奇怪,当我使用时它对我来说非常有效:

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

我想您应该尝试使用更传统的for循环,例如:

<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>
于 2011-05-18T06:27:27.847 回答