码迷,mamicode.com
首页 > Web开发 > 详细

CesiumJS 添加会动的GIF

时间:2018-09-13 10:20:44      阅读:1887      评论:0      收藏:0      [点我收藏+]

标签:cart   viewer   2.4   pos   html   board   listen   class   over   

由于Cesium使用canvas渲染,如果使用billboard等加载gif图片只能渲染第一帧,导致动图不动。在Cesium的官方示例中找到一段代码可将HTML元素渲染到地图上,将gif以html元素形式渲染,则gif图可以完整加载,动图也就能动起来,可以使用css调节页面元素的样式,现将核心的代码记载于此,以供参阅。

JS:

// 地图加载等代码略
var viewer = new Cesium.Viewer();

var htmlOverlay = document.getElementById(‘<gif图片元素(或者任何别的HTML元素)的id>‘);
        var scratch = new Cesium.Cartesian2();
        viewer.scene.preRender.addEventListener(function() {
            var position = Cesium.Cartesian3.fromDegrees(113.8055628136,22.44247382348, 50.0);
            var canvasPosition = viewer.scene.cartesianToCanvasCoordinates(position, scratch);
            if (Cesium.defined(canvasPosition)) {
                htmlOverlay.style.top = canvasPosition.y + ‘px‘;
                htmlOverlay.style.left = canvasPosition.x + ‘px‘;
            }
        });

HTML:

<!-- 其它页面代码略 -->
...
<body>
    <div id="cesiumContainer"></div>
    <img id="sillygif" style="position: absolute; width: 5%; height:10%; z-index: 2" src="<gif图片的地址>">
...

 

CesiumJS 添加会动的GIF

标签:cart   viewer   2.4   pos   html   board   listen   class   over   

原文地址:https://www.cnblogs.com/Ghost-In-Shell/p/9638485.html

(1)
(1)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!