文件bmap.js
export function MP(ak) {
return new Promise(function(resolve, reject) {
window.onload = function() {
resolve(BMap)
}
if(!window.BMap){
var script = document.createElement("script");
script.type = "text/javascript";
script.src = "http://api.map.baidu.com/api?v=2.0&ak=" + ak + "&callback=init";
script.onerror = reject;
document.head.appendChild(script);
}
})
}
在文件中引入:import { MP } from '@/assets/bmap'
调用:
MP('wAR8NqqVEPjFxZKmoD6tpMns6wv3ze9T').then(BMap => {
const map = new BMap.Map("bmap");
console.log(map)
map.centerAndZoom(new BMap.Point(116.404, 39.915), 11); // 初始化地图,设置中心点坐标和地图级别
})
但是页面为空白,无报错,显示加载了百度地图API文件
有可能你传入的
dom
参数并没有被库获取到,你可以给你渲染地图的元素绑定一个ref
,假设定义为bmap
,然后将构造函数里的参数
param
换成this.$refs.bmap
,对了,这个步骤应该在mounted
钩子函数中完成。