以下代码循环遍历 json 对象以在谷歌地图上放置标记。哪个工作正常。
function displayMarkers(data){
for(var i = 0; i < data.Lat.length; i++){
var point = new GLatLng(data.Lat[i],data.Lng[i]);
marker = new GMarker(point);
map.addOverlay(marker);
// here's the problem
GEvent.addListener(marker, "click", function(){
alert(data.Name[i]);
});
}
}
问题是,每个标记总是以“i”的最后一个值响应。我一直在试图找出一种方法来识别已单击的标记,以便以某种方式从数据对象中获取正确的信息。
我正在考虑在创建时创建一组标记以根据标记位置循环,但这对我来说效率很低。
任何帮助,一如既往,非常感谢。