肿么又被循环难住了呢?
本帖最后由 dancingyomin 于 2013-04-08 16:25:35 编辑 请问这段最后两句有什么问题么?为什么markers显示正常,但是所有读出的info都是最后一个?
for(var i in mapx){
markers.push(new MMap.Marker({id:"n7h9"+[i],position:new MMap.LngLat(mapx[i],mapy[i]),icon:icon}))//自定义构造MMap.Marker对象
mapObj.addOverlays(markers[i]);
infoWindows.push(new MMap.InfoWindow({content:minfo[i]}));
mapObj.bind(markers[i],"click",function(e){infoWindows[i].open(mapObj,e.lnglat)});
}
(function(_i){执行以下的话,return的是一个新函数,这个函数里的_i就是每次的i,这样每次绑定的函数都是对应的i。
return function(e){infoWindows[_i].open(mapObj,e.lnglat)}
})(i)