写在前面
首先要感谢 arcgis api for javascript 加载天地图 这篇文章,帮助我完成了在网页中加载天地图。 在此就不再描述加载天地图的方法与过程,只记录我遇到的一个坑与填坑方法。
入坑
通常,在项目的index.js文件中,map加载之后进行一些操作:
map.on("load", function(event) {
// 一些操作
});
复制代码
然而,在加载天地图的js文件中,通过一下两句代码,已经将天地图加载到map中:
this.loaded = true;
this.onLoad(this);
复制代码
这使得index.js文件中,无法执行到map在load之后的操作。
填坑
查看map的loaded属性,可以知道,触发map.on("load",fun)时,map.loaded = true。因此,将map.on("load",fun)换成了if(map.loaded){}判断。若还有其他使用的判断条件,可添加一个定时器,定时触发执行判断:
var timeout = window.setInterval(functionName, 5);
function functionName() {
if(map.loaded && extraOpinion ){
window.clearInterval(timeout);
// 一些操作
};
}
复制代码
总结
这是一个填坑记录,防止以后自己遇到同类问题不知怎么解决。若有其他更好的方法,会更新记录。