Googleマップの情報ウィンドウが左下のマーカーでしか開いていない理由を誰かに説明してもらえますか?フィドルについてはこちらをご覧くださいhttp://jsfiddle.net/Vj3nw/7/
いずれかのマーカーをクリックすると、左下のマーカーのみが開きます。クリックして開くマーカーをお願いします。
問題は以下のループが原因であると思います。この質問にも同じ問題があるようです。onclickを設定してループ内の変数の現在の値を使用する
「あなたが直面していた問題は、javascriptがブロックスコープを使用しないことです。代わりに、すべての変数に含まれる関数の有効期間があります。したがって、すべてのonclick関数でキャプチャされたのは1つだけであり、すべてが最終値を認識します。」
私はその解決策を私のものに完全に翻訳することはできません。
どうもありがとう。
for (var i = 0; i < 4; i++) {
var marker = new google.maps.Marker({
position: flightPlanCoordinates[i],
icon: Symbol,
map: map
});
infowindow = new google.maps.InfoWindow();
infowindow.setContent("hello");
google.maps.event.addListener(marker, 'click', function () {
infowindow.open(map, marker);
});
}