I have following code snippet, looping over an object with around 5000 google markers in it. I am changing the visibility of the markers in the loop.
var no_of_levels = 4;
for (j=1; j <= no_of_levels ; j++){
if (j == lvl_no){
var lvl = 'level'+lvl_no;
var visible_level_markers = new Array();
if (lvl_no == 4){
visible_level_markers = search_flag ? search_visible_markers['region']: map_sel_regions;
}else if (lvl_no == 3){
visible_level_markers = search_flag ? search_visible_markers['sub']: map_sel_subregions;
}else if (lvl_no == 2){
visible_level_markers = search_flag ? search_visible_markers['switches']: map_sel_switches;
}
if (obj.all_level_markers[lvl] != null || obj.all_level_markers[lvl] != undefined){
for (var i=0; i < obj.all_level_markers[lvl].length ; i++){
if (!obj.all_level_markers[lvl][i].getVisible()){
var marker_name = obj.all_level_markers[lvl][i].customInfo.split(" : ")[1];
if (lvl_no != 1 && $.inArray(marker_name, visible_level_markers) < 0) {continue;}
obj.all_level_markers[lvl][i].setVisible(true);
}
}
}
}
else{
var lvl = 'level'+j;
if (obj.all_level_markers[lvl] != null || obj.all_level_markers[lvl] != undefined){
for (var i=0; i < obj.all_level_markers[lvl].length ; i++){
if (obj.all_level_markers[lvl][i].getVisible()){
obj.all_level_markers[lvl][i].setVisible(false);
}
}
}
}
}
In IE8 the browser just stops the execution. Gives stop script error. Anyone has the better solution to replace loop or other way?