1. 程式人生 > >百度地圖非同步載入時出現的問題

百度地圖非同步載入時出現的問題

在使用百度地圖做專案的時候,因為載入js在沒有網路的時候,是非常緩慢的,時間約有20s了,在這期間,頁面一片空白,造成了不好的使用者體驗,所以這裡想到用非同步載入,但是在檢視文件使用程式碼之後,頁面一直不呼叫回撥函式init();

最後自己手動呼叫,以下是程式碼

	domReady(function(){
			window.areaArr=[];
		require(['ztree.excheck'],function(excheck){
			initTreeLoad();
			setTimeout(loadJScript,100);
		});
	});
	function loadJScript() {
		var script = document.createElement("script");
		script.type = "text/javascript";
		script.src = "http://api.map.baidu.com/api?v=2.0&ak=SLrOIdVUUI5fbvsZTMqTFshsG993NBAG&callback=init";
		document.body.appendChild(script);
		setTimeout(init,400)//此處進行手動呼叫
	}		
	function init(){
		window.map = new BMap.Map("allmap", {enableMapClick: false});//例項化一個地圖,並且其他位置不可點選	
		$.post(path+'/sys/companyInfo/findAllcomInfo').done(function(data){
			var bigArr=[];
			var rowData=data;
			for(var i=0;i<rowData.length;i++){
				var obj={};
				obj.name=rowData[i].areaName;
				obj.lgt=rowData[i].longituge;
				obj.lat=rowData[i].latitude;
				obj.areaCode=rowData[i].areaCode;
				obj.areaId=rowData[i].areaId;
				bigArr.push(obj);
			}
			renderMap(bigArr);
		})
		clickMap();
	}