zoukankan      html  css  js  c++  java
  • Openlayers Overlay导致偏移

    说明:

    在做项目过程中,用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");    
  • 相关阅读:
    @override报错
    idea快捷键
    java中getAttribute与getParameter的区别
    localStorage基于浏览器的本地存储
    js画布组件(<canvas></canvas>)
    easyui
    关于Bootstrap
    使用layUI美化的登录功能
    EXT JS
    ★一些文章链接
  • 原文地址:https://www.cnblogs.com/giser-s/p/11474364.html
Copyright © 2011-2022 走看看