百度地图初始化中心偏移的解决办法及问题原因分析

1.原因分析
百度地图加载时页面标签的宽高都还没有加载完成,地图的标签宽高都是0,
所以地图的中心会移到div的左上角

2 解决办法

推迟初始化地图的时间

<script>
import BMap from 'BMap'
  export default {
    components: {
    },
    mounted() {
      setTimeout(() => {
         this.baiduMap()
      }, 100)
    },
    methods: {
      baiduMap() {
        let map = new BMap.Map('allmap')
        let point = new BMap.Point(116.750036,39.888589) // 创建点坐标
        map.centerAndZoom(point, 15) // 初始化地图,设置中心点坐标和地图级别
        map.enableScrollWheelZoom(true) //开启鼠标滚轮缩放
        map.setMapStyle({ style: 'midnight' }) //地图风格
        let icon = new window.BMap.Icon(require('./../../assets/u21.png'), new window.BMap.Size(35, 43), {  
          anchor: new window.BMap.Size(35, 35)  
        });
        icon.setImageSize(new BMap.Size(30,35));//设置图标大小
        let mkr =new window.BMap.Marker(point, {  
          icon: icon  
        });
        map.addOverlay(mkr);
        let loadCount=0;
        map.addEventListener("tilesloaded",function(){//mapName是你的地图名称
            if(loadCount==1){
                map.setCenter(point);//point是设置的中心点
            }
            loadCount=loadCount+1
        });
      }
    }
  }
</script>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值