gmaps4railsを使用してRailsアプリにマップを追加しています。マーカーをクリックしてユーザーの年齢を記録しようとしています。
私のインデックスアクションでは-
@json = User.all.to_gmaps4rails do |user, marker|
marker.json({ :id => user.id, :age => user.age })
end
これは、マップを作成し、すべてのマーカーを追加しています。
jsコンソールにGmaps.map.markers[0]を配置すると、オブジェクトが表示され、ageプロパティがあることがわかります。
私はこのようなことをすることによってクリックを通してそのプロパティを記録しようとしています-
<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をログに記録しています。
私は何が間違っているのですか?