我正在开发一个使用 gmaps4rails (https://github.com/apneadiving/Google-Maps-for-Rails) 的应用程序。我想向标记添加一个事件侦听器,以便它在地图旁边创建一个可视化(以及在地图上显示一个信息窗口)。是否可以使用 gmaps4rails 为每个标记添加事件侦听器?
问问题
3291 次
1 回答
5
当然有可能。
您应该在gmaps4rails_callback
javascript 函数中编写代码,以确保在设置完所有内容时执行它。
然后循环markers
js变量: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 回答