vue中引入百度地圖

第一種方案:(無效)

在index.html文件中引入百度地圖

<script src="http://api.map.baidu.com/api?v=2.0&ak=xxxxxx"></script>

但是并沒有用且報(bào)錯(cuò)


image.png

此處報(bào)錯(cuò)非常詭異,因?yàn)槲也捎脛?dòng)態(tài)引用的方式時(shí)并沒有報(bào)該錯(cuò)

第二種方案:(有效)

新創(chuàng)建一個(gè)文件utils/baiduMap.js

export function baiduMap(ak) {
  return new Promise(function (resolve, reject) {
    if (typeof window.BMap !== "undefined") {
      resolve(window.BMap);
      return true;
    }
    window.onBMapCallback = function () {
      resolve(window.BMap);
      return true;
    };
    const script = document.createElement("script");
    script.type = "text/javascript";
    script.src = "http://api.map.baidu.com/api?v=2.0&ak=" + ak + "&callback=onBMapCallback";
    script.onerror = reject;
    document.head.appendChild(script);
    return true;
  })
}

在百度地圖組件baidumap.vue中引用

import { baiduMap } from "@/util/baiduMap.js";
  mounted() {
    const ak = "xxxxxxxx";
    baiduMap(ak).then(() => {
      this.createMap(); // 創(chuàng)建地圖
    });
  },

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容