1.原因
因为容器在隐藏和显示之间切换时,容器还没创建好,宽高为0,这时设置中心点就会是在左上角
2.解决
定时器setTimeout,延时设置中心点
setTimeout(() => { window.map.centerAndZoom(new BMap.Point(lng, lat), 15); // 初始化地图,设置中心点坐标和地图级 }, 300);
3.总结
大部分代码写的明明很对 就是效果不对哪都不妨大胆的加上一个setTimeout试试吧
参考链接---https://blog.csdn.net/weixin_44240581/article/details/114683396