百度地圖非同步載入時出現的問題
阿新 • • 發佈:2019-02-06
在使用百度地圖做專案的時候,因為載入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(); }