GoogleマップAPIのマーカーにリスナーを追加するために配列を使用することについて質問があります。繰り返しを直接使用してリスナーを追加することはできないようですが、関数を呼び出してそれを行うことはできます。インターネットを検索したところ、スコープの問題であることがわかりました。しかし、私は何が理由なのか分かりません。誰でも私に明確な説明を与えることができますか?ありがとう!
works version
function updateM(m) {
google.maps.event.addListener(m, 'click', function() {
infowindow.open(map,m);
});
}
for(i=0;i<2;i++)
{
marker[i].setMap(map);
updateM(marker[i]);
}
and
do not work version
for(var i=0;i<2;i++)
{
marker[i].setMap(map);
google.maps.event.addListener(marker[i], 'click', function() {
infowindow.open(map,marker[i]);
});
}
}