在vue里面引用百度地圖后,發(fā)現(xiàn)無(wú)論怎么調(diào)整斷后不能將中心點(diǎn)放到最中間的位置,總會(huì)偏移一部分,效果,如下圖....
偏移圖片
然后呢,我就打開控制臺(tái),查看dom位置.發(fā)現(xiàn)一個(gè)奇怪的現(xiàn)象,百度地圖的區(qū)域的位置會(huì)有一塊在左上角的位置,大概就是顯示地圖上下各偏移一半的位置..
然后呢,我就上百度搜索相關(guān)問(wèn)題,都說(shuō)是dom加載順序的問(wèn)題
原因就是呢:因?yàn)槟?這是一個(gè)彈出框狀態(tài),原先的dom寬高均為0,中心也是(0,0),因此,中心點(diǎn)位置就會(huì)顯示在左上角了,當(dāng)然了,解決辦法也很簡(jiǎn)單,延時(shí)加載dom就可以了
<baidu-map
v-if="mapShow" //這個(gè)控制顯示和隱藏
class="bm-view"
:center="center"
:zoom="zoom"
:scroll-wheel-zoom="true"
@ready="createMap"
>
js操作(在打開彈出框的同時(shí),添加以下邏輯就行了)
setTimeout(() => {
this.mapShow = true
}, 0)