小编Ala*_*ack的帖子

动态添加监听器到谷歌地图标记

我正在开发一个页面,该页面使用Javascript httpObject获取代码并使用它来更新页面上的两个元素 - 谷歌地图和列出标记指向的东西的DIV.

这一点工作得很好.问题在于,当我创建标记时,我通过for循环执行此操作,并在每个循环中向标记添加侦听器.然后,当我测试页面时,我发现每个标记都会发生同样的事情.

将鼠标悬停在标记上应更改DIV相应位的边框颜色.相反,每个标记都会更改最后一位的边框.似乎每次添加监听器时,我都会覆盖先前添加的标记的监听器.

我知道,即使您在Javascript中创建新标记,Google Maps API也会保留标记的标识.我不知道如何解决它 - 我尝试在循环外创建一个数组,并改变

var newMarker = new GMarker(newLatLng);
Run Code Online (Sandbox Code Playgroud)

with newMarker [count] = new GMarker(newLatLng);

但它仍然无效.

帮助我,StackOverflow.你是我唯一的希望.:)

编辑:多一点代码

for (count=0;count<=LatArray.length;count++)
{
  thisLat = LatArray[count];
  thisLong = LongArray[count];
  thisHTML = HTMLArray[count];
  newLatLng = new GLatLng(thisLat, thisLong, true);

  if (mapBounds.containsLatLng(newLatLng))
  {
      //alert(count);
      var  dinnerNumber = "dinner_"+count;
      newMarkers[count] = new GMarker(newLatLng); 
      map.addOverlay(newMarkers[count]);
      GEvent.addListener(newMarkers[count],'mouseover',function(){document.getElementById(dinnerNumber).style.borderColor = '#000000';
  });
}// for
Run Code Online (Sandbox Code Playgroud)

javascript google-maps listeners

7
推荐指数
1
解决办法
6329
查看次数

标签 统计

google-maps ×1

javascript ×1

listeners ×1