vue使用百度地圖報錯BMap?is?not?defined問題及解決
使用百度地圖報錯BMap is not defined
1、在index.html添加
密鑰申請:http://lbsyun.baidu.com/apiconsole/key
<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=你的密鑰"></script
2、webpack.base.conf.js

externals: {
"BMap": "BMap"
},
vue導(dǎo)入百度地圖BMap
在項目的根目錄下的index.html文件中添加如下代碼
<script src="https://api.map.baidu.com/api?v=2.0&ak=此處填寫申請的百度地圖AK"></script>
vue項目引入百度地圖 報錯 BMap未定義;

在經(jīng)過了多次的測試后,修改webpack等配置文件后,發(fā)現(xiàn)了一個十分便捷的處理方法:
首先是在地圖加載的方法中打印了window,發(fā)現(xiàn)BMap是掛載在window上的,所以直接使用BMap會報錯;


在使用的BMap時需要在window身上去找,所以只需要增加以下代碼就可以解決BMap is not defined的問題
附完整代碼 :
<template>
<div id="map"></div>
</template>
<script>
let BMap = {};
let map = {};
export default {
methods: {
createMap() {
BMap = window.BMap;
map = new BMap.Map("map");
map.centerAndZoom("成都", 11);
},
},
created() {
this.$nextTick(() => {
this.createMap();
});
},
};
</script>
<style scoped>
#map {
width: 100%;
height: 1000px;
}
</style>
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Vue實現(xiàn)導(dǎo)出Excel表格文件提示“文件已損壞無法打開”的解決方法
xlsx用于讀取解析和寫入Excel文件的JavaScript庫,它提供了一系列的API處理Excel文件,使用該庫,可以將數(shù)據(jù)轉(zhuǎn)換Excel文件并下載到本地,適用于在前端直接生成Excel文件,這篇文章主要介紹了Vue實現(xiàn)導(dǎo)出Excel表格,提示文件已損壞,無法打開的解決方法,需要的朋友可以參考下2024-01-01
vue2?element-ui?el-checkbox視圖不更新問題及解決
作者在開發(fā)過程中遇到了視圖不更新的問題,最終通過改變一個無關(guān)緊要的響應(yīng)式數(shù)據(jù)來解決,讓視圖發(fā)生改變2024-12-12
nuxt框架中路由鑒權(quán)之Koa和Session的用法
后臺管理頁面需要有登錄系統(tǒng),所以考慮做一下路由鑒權(quán),這篇文章主要介紹了nuxt框架中路由鑒權(quán)之Koa和Session的用法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-05-05

