vue 调用百度地图 页面控制台报错:BMap is not defined最终解决方案
原先看了好多网上的资料都没有解决问题原因分析:加载顺序导致mounted () {//钩子函数this.initMap();},页面正确执行顺序为:页面初始化——地图初始化——数据初始化上面报错的问题原因是:页面初始化——数据初始化——地图初始化当数据需要加载到地图上面时地图还没有初始化完成导致的最终解决方案如下:initMap () {console.log("开始加载地图...")MP('你的
   ·  
 原先看了好多网上的资料都没有解决
问题原因分析: 加载顺序导致
 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()
        }
    },
更多推荐
 


所有评论(0)