Openlayers Overlay致使偏移

說明:

在作項目過程當中,用overlay作了一個infowindow彈窗,可是在使用過程當中發現一個bug:overlay.setPosition之後,會出現偏移,可是拖動一下地圖或者點擊一下地圖其餘地方就回到正確的位置。spa

代碼以下:code

let overlay = new ol.Overlay({ id: "overlay", element: "marks", positioning: "bottom-center", stopEvent: _stopEvent ? _stopEvent : false }); 

過程:

研究發現positioning改爲默認(top-left)就沒問題,緊接着試了其餘幾個參數center-center,bottom-left等,凡是設了center的都會有這個問題。blog

#參數:'bottom-left''bottom-center''bottom-right''center-left''center-center''center-right''top-left''top-center''top-right'element

推測overlay在渲染center時有點bugit

解決方案:

將overlay的positioning設置在加載後,便可io

let overlay = new ol.Overlay({ id: "overlay", element: "marks", //positioning: _position, //這裏註釋掉
                stopEvent: _stopEvent ? _stopEvent : false }); overlay.setPosition([_x,_y]); map.addOverlay(overlay); //解決overlay渲染center時出現偏移的問題
            overlay.setPositioning("bottom-center");
相關文章
相關標籤/搜索