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");    
  • 相关阅读:
    Windows32位与64位操作系统的区别【转】
    【C#多线程详解】
    auto_ptr
    #if 1......
    vector 向量容器
    删除可视图中的类不能彻底避免它重新被编译
    _tWinMain 与wWinMain 区别
    explicit 用法
    转:atoi函数的实现
    string类的实现
  • 原文地址:https://www.cnblogs.com/giser-s/p/11474364.html
Copyright © 2011-2022 走看看