原因 因为容器在隐藏和显示之间切换时,容器还没创建好,宽高为0,这时设置中心点就会是在左上角 解决 定时器setTimeout,延时设置中心点 setTimeout(() => { window.map.centerAndZoom(new BMap.Point(lng, lat), 15); // 初始化地图,设置中心点坐标和地图级 }, 300); 前后对比