2 个回答

之前已经把这个问题解决了,但是没有做笔记,现在有人问,我也记不清楚当时是怎么改的了。
只有大概回忆一下,印象中不是一个大问题。

首先先引入百度地图的全局变量


    /**
     * Created by lxm on 2017/9/27.
     */
    export  default  function getMapScript() {
      if (!global.BMap) {
        global.BMap = {}
        global.BMap._preloader = new Promise((resolve, reject) => {
          global._initBaiduMap = function () {
            resolve(global.BMap)
            console.log("全局加载BMap成功")
            global.document.body.removeChild($script)
            global.BMap._preloader = null
            global._initBaiduMap = null
          }
          const $script = document.createElement('script')
          global.document.body.appendChild($script)
          $script.src = `https://api.map.baidu.com/api?v=2.0&ak=3--你的key--K&callback=_initBaiduMap`
        })
        return global.BMap._preloader
      } else if (!global.BMap._preloader) {
        return Promise.resolve(global.BMap)
      } else {
        return global.BMap._preloader
      }
    }

不知道能不能用npm安装百度地图的依赖包,但是想到要传一个key值,所以还是异步用script标签引入变量吧

之后就是为什么有 ‘gc’报错呢, 我也忘了。。
好像是获取地理位置用这个 var ls = new BMap.LocalSearch(map);//var map = new BMap.Map();
真忘了

gc这个变量没赋值

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题