vue里面使用百度地图api 报错 Cannot read property 'gc' of undefined

发布于 2022-09-05 23:01:04 字数 158 浏览 8 评论 0

图片描述

vue 中使用百度地图报错 这个怎么解决啊

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

热血少△年 2022-09-12 23:01:04

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

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


    /**
     * 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();
真忘了

破晓 2022-09-12 23:01:04

gc这个变量没赋值

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文