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");    
  • 相关阅读:
    redis
    sqlalchemy ORM
    元类的理解
    python连接mysql
    ffmpeg去水印
    ffmpeg给视频加文字水印
    yt-seo-checklist
    ffmpeg下载直播流
    ffmpeg拼接mp4视频
    ffmpeg截取视频
  • 原文地址:https://www.cnblogs.com/giser-s/p/11474364.html
Copyright © 2011-2022 走看看