zoukankan      html  css  js  c++  java
  • CesiumJS 添加会动的GIF

    由于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;  5%; height:10%; z-index: 2" src="<gif图片的地址>">
    ...
  • 相关阅读:
    数据库三级考试的随笔2.0
    数据库三级考试的随笔1.2
    数据库三级考试的随笔1.1
    数据库三级考试的随笔1.0
    陈贤文的第一次试水
    点分治总结
    Treap总结
    UML之二、建模元素(1)
    StarUML之九、starUML的一些特殊属性的说明
    UML之一、为什么需要UML?
  • 原文地址:https://www.cnblogs.com/Ghost-In-Shell/p/9638485.html
Copyright © 2011-2022 走看看