我正在尝试将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事件块中读取它?
答案 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);
}
}