我正在使用 gmaps4rails 将地图添加到我的 rails 应用程序。我正在尝试通过单击标记来记录用户的年龄。
在我的索引操作中,我有 -
@json = User.all.to_gmaps4rails do |user, marker|
marker.json({ :id => user.id, :age => user.age })
end
这是创建地图并添加我所有的标记。
如果我将 Gmaps.map.markers[0] 放在我的 js 控制台中,我可以看到我的对象并且可以看到它具有年龄属性。
我正在尝试通过执行以下操作来通过单击记录该属性-
<script type="text/javascript">
Gmaps.map.callback = function() {
for (var i = 0; i < this.markers.length; ++i) {
google.maps.event.addListener(
Gmaps.map.markers[i].serviceObject, 'click', function() { console.log(this.age) });
}
};
</script>
this.age 未定义。显然,它记录的是 serviceObject 而不是标记对象。
我究竟做错了什么?