Gmaps4rails:如何向json添加属性

时间:2012-08-13 21:04:17

标签: javascript ruby-on-rails gmaps4rails

我正在尝试将id属性添加到我使用Gmaps4rails 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存储到标记中以便我可以在click事件块中读取它?

1 个答案:

答案 0 :(得分:2)

执行:

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);
  }
}