openlayers 展示gif的2种方案

1 篇文章 0 订阅
1 篇文章 0 订阅

openlayers官方API上是不支持gif的(ol.style.Icon),但是在openlayers6,官网给出了一个使用gifler插件的方式来展示gif图标的效果(经测试,在openlayers4 openlayers5也是支持的),这种实现方案可以替换之前常用展示gif的方法,先使用html代码段加入gif图片,再用overlay渲染的方式,这种方式最大的问题是使用overlay渲染的会置顶于openlayers,而gifler渲染可以通过zIndex方式控制显示在想要展示的层级(不一定时最顶层),而且使用gifler可以把动画效果代码放在底层,可以优化代码逻辑。
具体demo见官网地址:
https://openlayers.org/en/latest/examples/animated-gif.html

使用overlay方式加载gif的例子

 let gifDiv = document.getElementById('marks');
        let lyr = new ol.Overlay({
            id: "overlay",
            position: [0, 0],//默认空
            positioning: 'center-bottom',
            element: gifDiv,//绑定上面添加的元素
            //stopEvent: false,
            offset: [-13.5, -40]//图片偏移量
        });
        encMap.encmap.addOverlay(lyr);
        var src = './assets/green.gif';//拼接图片地址
        document.getElementById('marks').style.backgroundImage = 'url(' + src + ')';
        lyr.setPosition([12970694.29785, 4743563.564]); //显示  
    }
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值