vue ssr下引用vue-baidu-map,无法显示地图

vue ssr情况下使用百度地图的插件vue-baidu-map,按照官方文档局部注册和引用后,出现了百度的logo、但是地图却是灰色的,没有显示出来,求问大佬该怎么解决,已经按照文档给组件设置了宽高,还是没有显示出地图。
image.png

阅读 1.8k
1 个回答

我是用的webapi也遇到这个问题,后来发现我是用的是vue3,他会先初始化地图然后被vue3重新加载页面,所以地图就没了,然后看到官网上存在异步加载地图的写法,用了下确实好用。但是我用过你的组件,他应该是vue2版本的组件。所以不知道如何解决因此只是提供一个思路。
下面是的我的代码

function loadJScript() {
    var script = document.createElement('script');
    script.type = 'text/javascript';
    script.src = '//api.map.baidu.com/api?type=webgl&v=1.0&ak=您的密钥&callback=init';
    document.body.appendChild(script);
}
function init() {
    var map = new BMapGL.Map('container'); // 创建Map实例
    var point = new BMapGL.Point(116.404, 39.915); // 创建点坐标
    map.centerAndZoom(point, 10);
    map.enableScrollWheelZoom(); // 启用滚轮放大缩小
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题