事件单击动态变量

时间:2013-03-21 16:10:16

标签: javascript google-maps events

大家好我有一个网站,我使用谷歌地图。 问题是:我在地图中添加了一些标记,我想要点击每个标记,提醒我它的数据。 我的代码仅警告最后一个(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);
    });
}   

1 个答案:

答案 0 :(得分: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的调用