原先看了好多网上的资料都没有解决
问题原因分析: 加载顺序导致
mounted () {//钩子函数
this.initMap();
},
页面正确执行顺序为:页面初始化——地图初始化——数据初始化
上面报错的问题原因是:页面初始化——数据初始化——地图初始化
当数据需要加载到地图上面时地图还没有初始化完成导致的
最终解决方案如下:
initMap () {
console.log("开始加载地图...")
MP('你的ak').then(() =>{
this.map =new BMap.Map("map", {
enableMapClick: false
}) //新建地图实例,enableMapClick:false :禁用地图默认点击弹框
this.map.setMapStyle({
styleJson: styleJson.styleJsonjs//styleJsonjs:个性化地图样式 百度地图api可找到个性化地图自己编辑样式
});
this.map.addControl(new BMap.MapTypeControl({
mapTypes: [
BMAP_NORMAL_MAP,
BMAP_HYBRID_MAP
]
}));
if(BMap){//这里加判断
//加载数据
this.site_ready()
}
},