javascript - Gmaps4rails:如何向 json 添加属性

标签 javascript ruby-on-rails gmaps4rails

我正在尝试将 id 属性添加到我使用 Gmaps4rails gem 创建的标记(顺便说一句,很棒的 gem),这样我就可以在单击标记时使用该 id 来修改我的列表元素。

现在我有这个:

@users.to_gmaps4rails do |user, marker|                                                                                                          
    marker.title user.name
    marker.json "\"id\": #{user.id}"
end

,但似乎不起作用。

我正在尝试像这样读取 id 属性:

for (var i = 0; i <  Gmaps.map.markers.length; ++i) {   
      google.maps.event.addListener(Gmaps.map.markers[i].serviceObject, 'click', function(event) {                 
        alert(event.id);   //<-------------Not working     
      });
    }

有什么想法可以将我的用户 ID 存储到标记中,以便我可以在点击事件 block 中读取它吗?

最佳答案

做:

for (var i = 0; i <  Gmaps.map.markers.length; ++i) {
  var marker = Gmaps.map.markers[i];
  google.maps.event.addListener(marker.serviceObject, 'click', onMarkerClick(marker, event));
}

function onMarkerClick(marker, event){
  return function(event){
    alert(marker.id);
  }
}

关于javascript - Gmaps4rails:如何向 json 添加属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11942284/

相关文章:

javascript - 将 JavaScript for 循环集成到自定义函数中

ruby-on-rails - ActionDispatch::Cookies 没有跨域设置

ruby-on-rails - 基于 GET 参数的 Rails 路由

ruby-on-rails - gmaps4rails 未在指定的 div id 中呈现

javascript - 启动后删除事件监听器

javascript - 我可以在哪里放置 JavaScript 数组?

javascript - datepicker 帮助,如何弹出日历?

javascript - Rails 不显眼的 ajax :failure event not firing

自执行方法中的 Javascript 范围访问

ruby-on-rails - 谷歌地图自动完成 js 正在本地主机上工作,但不在 heroku 上