-1

こんにちは、私は Google マップを使用するサイトを持っています。問題は、マップにいくつかのマーカーを追加し、クリックするとすべてのマーカーがそのデータを警告するようにしたいということです。変数が同じであるため、私のコードでは最後 (test9) のみがアラートされます。動的変数のリスナーを追加するには? これは私のコードです:

for (i = 0; i<10; i++){
    myLatlng = new google.maps.LatLng((44.900)+(i/10), 11.634521);
    var marker = new google.maps.Marker({
      position: myLatlng,
      map: map,
      title:"Hello World!"+i,
      data:"test"+i
    });
    google.maps.event.addListener(marker, 'click', function() {
      alert(marker.data);
    });
}   
4

1 に答える 1

1

addMarkerFunction(marker)などの新しい関数を追加してみてください

そのような

    function addMarkerFunction(marker){
      google.maps.event.addListener(marker, 'click', function() {
    alert(marker.data);
      });
    }

次に、forループコードを次のように編集します。

  for (i = 0; i<10; i++){
myLatlng = new google.maps.LatLng((44.900)+(i/10), 11.634521);
var marker = new google.maps.Marker({
  position: myLatlng,
  map: map,
  title:"Hello World!"+i,
  data:"test"+i
});
  addMarkerFunction(marker);
 }   

google.maps.event.addListenerへの呼び出しを削除します

于 2013-03-21T16:43:05.320 に答える