在做功能区图层全选多选时,正常图层的加载应该是2、3秒即可加载完毕,但是当选择某区域某类区时,竟然用了十几秒才加载出来,后来找出问题竟然是for循环中对json数据格式转换代码的问题,原代码是:
var dataFeatures = msg.layer
var lilen = $("#point_ul ul").length;
clearlayerSource(pointLayer);
clearlayerSource(auto_pointLayer);
var newSource = [];
for (var s = 0; s < lilen; s++) {
if ($("#point_ul ul").eq(s).find("input").prop("checked") == true) {
var index_id = $("#point_ul ul").eq(s).find("input").prop("name");
for (var m = 0; m < JSON.parse(dataFeatures).features.length; m++) {
if (JSON.parse(dataFeatures).features[m].properties["region"] == index_id) {
newSource.push(JSON.parse(dataFeatures).features[m]);
}
}
}
}
for (var i = 0; i < newSource.length; i++) {
//地图上追加要素