添加asyncLoadMap.js
export function asyncLoadMap() {
return new Promise(function(resolve, reject) {
if (typeof(BMapGL) !== 'undefined') return resolve(BMapGL)
var script = document.createElement('script')
script.type = 'text/javascript'
script.src = `https://api.map.baidu.com/api?v=1.0&&type=webgl&ak=${ak}&callback=init`
script.onerror = reject
document.head.appendChild(script)
const timer = setInterval(() => {
if (BMapGL) {
resolve(BMapGL)
clearInterval(timer)
}
}, 500)
})
}
组件中使用
mounted () {
this.$nextTick(() => {
asyncLoadMap().then(res => {
this.createdMap();
})
})
},