- JScript code
for(var len=0;len<200;len++){ google.maps.event.addListener(markerList[len].marker, 'click', function(){ markerList[len].infoWindow.open(map,this); }); }
我希望得到的效果是点击0号marker那么弹出0号infoWindow,点击1号就弹出对应1号的infoWindow... 但问题是这样的代码最后的结果是0~199号marker被点击后就是返回第199号infoWindow,请问我该如何处理这个问题?
------解决方案--------------------
- JScript code
function createpack(len){ return function(){ markerList[len].infoWindow.open(map,this);} } //做闭包 for(var len=0;len<200;len++){ google.maps.event.addListener(markerList[len].marker, 'click',createpack(len) ); }