vue类似于异步加载调用百度地图,刷新一次才能显示正常?

clipboard.png
用了网上这种方法调用百度地图,结果要刷新一次才能显示

我的代码:

引入map.js文件:
clipboard.png

map.js文件代码:

clipboard.png

调用百度地图的方法:

clipboard.png

在mounted调用:

clipboard.png

结果:
打印值测试:

clipboard.png

clipboard.png

刷新后
结果显示正常

clipboard.png

请教各位这是怎么一回事呀,在此谢了哈!

阅读 12.8k
7 个回答

1.首先在index.html文件引入<script src="https://api.map.baidu.com/api?v=1.3&s=1"></script>,我这边引用的是1.3版本,1.4版本及以下是不需要密钥的。

clipboard.png

2.在你需要调用百度地图的页面调用,

clipboard.png

window.init = function () {
resolve(BMap)
}

这个问题,我解决了,特意登陆一下,来记录下

这两个地方的命名要一致

刷新是不能作数的,有很多东西是缓存了,开发的时候我一般习惯关掉浏览器页,重新打开观看效果。
另外你为什么要用nextTick呢,mounted本身就是vue已经操作完dom留给你操作的地方啊。想我echarts.init都是直接在mounted里执行的,你拿把方法拿出来试试。

新手上路,请多包涵

怎么解决的呢?

新手上路,请多包涵

遇到了同样的问题,我只想在需要的时候才引入百度api接口,怎么解决的?

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