代码:
var layers = map.getLayers().a;
console.log('layers',layers)
for(var i= 1;i<layers.length;i++){
var s = layers[i].getSource().l
console.log('source.l',s)
for(let key in s){
console.log(key + '---' + s[key])
}
}
错误效果:
分析:
只打印了s,对s的遍历并没有打印,说明没有获取到任何数据,尝试使用JSON.stringify(s),结果是‘{}’,感觉可能数据是异步的,于是乎加了个定时器,结果就行了
解决方案:
var layers = map.getLayers().a;
for(let i = 1; i < 10; i++) {
clearInterval(i);
}
var i =1;
var timer = setInterval(function(){
// let s = null
if(i == layers.length) {
clearInterval(timer)
}else{
let s = layers[i].getSource().l
console.log('source.l',s)
}
i++;
},1000)