0
Google Maps JavaScript APIを使用して地図にマーカーを追加しています。各マーカーについて、私はそれぞれのクリックイベントにリスナーを追加します。以下は私のコードです。それが発火するとき、私はi
の値で何かをすることができるようにGoogle maps:イベントをクリックするためにパラメータをバインドする
for (var i = 0; i < markers.length; i++) {
var marker = addMarker(markers[0]); //The addMarker function contains the code to add the marker
marker.addListener('click', function() {
console.log(i);
});
}
は私もクリックイベントにi
のparamをバインドする(私は後で別の変数であることを、これを変更します)。しかし、今までコンソールでクリックしたのはどれですか?は常に最後の値をログアウトします。
ループの繰り返しごとに、クリックイベントのコールバックが上書きされます。誰も私がこれを解決する方法を知っていますか?
あなたは閉鎖 – Roljhon
@Roljhonの内側にあなたのイベントの割り当てをラップする必要があります私は完全にあなたが説明することができるだろう、クロージャを理解していませんか? – Pattle