vue中使用百度地图,显示空白
文件bmap.js
export function MP(ak) {
return new Promise(function(resolve, reject) {
window.onload = function() {
resolve(BMap)
}
if(!window.BMap){
var script = document.createElement("script");
script.type = "text/javascript";
script.src = "http://api.map.baidu.com/api?v=2.0&ak=" + ak + "&callback=init";
script.onerror = reject;
document.head.appendChild(script);
}
})
}
在文件中引入:import { MP } from '@/assets/bmap'
调用:
MP('wAR8NqqVEPjFxZKmoD6tpMns6wv3ze9T').then(BMap => {
const map = new BMap.Map("bmap");
console.log(map)
map.centerAndZoom(new BMap.Point(116.404, 39.915), 11); // 初始化地图,设置中心点坐标和地图级别
})
但是页面为空白,无报错,显示加载了百度地图API文件
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
有可能你传入的
dom
参数并没有被库获取到,你可以给你渲染地图的元素绑定一个ref
,假设定义为bmap
,然后将构造函数里的参数
param
换成this.$refs.bmap
,对了,这个步骤应该在mounted
钩子函数中完成。你地图渲染到哪儿了的?有没有给高度?
html代码
vue代码
太感谢楼上的大神提醒了,有不懂的可以微信我号yizheng369