-1

大家好,我有一个使用谷歌地图的网站。问题是:我在地图中添加了一些标记,并且我希望每个标记在单击时提醒我其数据。使用我的代码警报只有最后一个(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 回答