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");
相关文章
相关标签/搜索