在外部建一个js文件
export default {
akValue(){
return "你的ak秘钥" //
},
init: function (){
const AK = this.akValue();
const BMap_URL = 'https://api.map.baidu.com/api?v=3.0&ak='+ AK +"&s=1&callback=onBMapCallback";
return new Promise((resolve) => {
// 如果已加载直接返回
if(typeof BMap !== "undefined") {
resolve(BMap);
return true;
}
// 百度地图异步加载回调处理
window.onBMapCallback = function () {
resolve(BMap);
};
let getCurrentCityName = function () {
return new Promise(function (resolve) {
let myCity = new BMap.LocalCity()
myCity.get(function (result) {
resolve(result.name)
})
})
}
// 插入script脚本
let scriptNode = document.createElement("script");
scriptNode.setAttribute("type", "text/javascript");
scriptNode.setAttribute("src", BMap_URL);
document.body.appendChild(scriptNode);
});
}
}
然后在你需要引入api的vue组件中
import map from "@/utils/map";//引入刚才的js文件
export default{
data(){},
mounted(){
map.init().then((BMap)=>{
//在这里调用BMap的方法
const pointBak = new BMap.Point(lng, lat);
})
}
}