在vue里面引用百度地图后,发现无论怎么调整断后不能将中心点放到最中间的位置,总会偏移一部分,效果,如下图....
然后呢,我就打开控制台,查看dom位置.发现一个奇怪的现象,百度地图的区域的位置会有一块在左上角的位置,大概就是显示地图上下各偏移一半的位置..
然后呢,我就上百度搜索相关问题,都说是dom加载顺序的问题
原因就是呢:因为呢,这是一个弹出框状态,原先的dom宽高均为0,中心也是(0,0),因此,中心点位置就会显示在左上角了,当然了,解决办法也很简单,延时加载dom就可以了
<baidu-map
v-if="mapShow" //这个控制显示和隐藏
class="bm-view"
:center="center"
:zoom="zoom"
:scroll-wheel-zoom="true"
@ready="createMap"
>
js操作(在打开弹出框的同时,添加以下逻辑就行了)
setTimeout(() => {
this.mapShow = true
}, 0)