首页 > 其他 > 详细

Openlayers Overlay导致偏移

时间:2019-09-06 14:26:51      阅读:184      评论:0      收藏:0      [点我收藏+]

说明:

在做项目过程中,用overlay做了一个infowindow弹窗,但是在使用过程中发现一个bug:overlay.setPosition以后,会出现偏移,但是拖动一下地图或者点击一下地图其他地方就回到正确的位置。

代码如下:

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

过程:

研究发现positioning改成默认(top-left)就没问题,紧接着试了其他几个参数center-center,bottom-left等,凡是设了center的都会有这个问题。

#参数:‘bottom-left‘‘bottom-center‘‘bottom-right‘‘center-left‘‘center-center‘‘center-right‘‘top-left‘‘top-center‘‘top-right‘

推测overlay在渲染center时有点bug

解决方案:

将overlay的positioning设置在加载后,即可

            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");    

 

Openlayers Overlay导致偏移

原文:https://www.cnblogs.com/giser-s/p/11474364.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!