0

Gmaps4rails gem(great gem btw)で作成したマーカーにid属性を追加しようとしています。これにより、マーカーがクリックされたときにその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をマーカーに保存する方法はありますか?

4

1 に答える 1

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);
  }
}
于 2012-08-14T07:28:37.053 に答える