1. 程式人生 > 其它 >Cesium中的primitive流光軌跡

Cesium中的primitive流光軌跡

展示圖:

功能思路:

使用WebGL的著色器功能,生成動態的動畫紋理
接著利用Cesium的 Material()方法對應的fabric.source屬性將動畫紋理賦值上去
最後建立線實體,線上的材質屬性中賦值,就成功了

封裝好的方法呼叫

1、例項化方法

var path = new Streamerpath();

2、建立流動軌線

var positions = [
            [
                112.5535107330670854, 37.8612394690389991,
                112.5538984750296407, 37.8641210799073491,
                112.5548608906540977, 37.8727717334314775,
                112.5554135315933593, 37.8753251873433427,
                112.5555353064015094, 37.8773057395881594,
                112.5555974196704341, 37.8815753240675477
            ],
            [
                112.5282013702352373, 37.8808761261214144,
                112.5275305518636770, 37.8730571421732520,
                112.5264227060055191, 37.8609562994944753
            ],
            [
                112.5220237760754713, 37.8643118141969666,
                112.5201885781767999, 37.8726141616944716
            ]
        ]
var obj = {
            positions: positions,//positions 經緯度二維陣列,沒有高度 position 經緯度陣列,沒有高度
           //position:[112.5220237760754713, 37.8643118141969666,112.5201885781767999, 37.8726141616944716]
            lineColor: "#0033FF",//線的顏色
            lineAlpha: 1.0,//線的透明度
            linewidth: 5.0,//線的寬度
            pointColor: "#FFFFFF",//移動點的顏色
            pointAlpha: 1.0,//移動點的透明度
            id:"line",//
            speed:0.5//移動速度
        }
        path.create(obj);

3、根據id獲取流光軌跡

path.getprimitivebyid("line");

4、根據id移除流光軌跡

path.removeprimitive("line");

5、移除所有流光軌跡

path.removeprimitiveList()

指令碼下載
https://download.csdn.net/download/qq_35984445/16633314

本文轉自 https://blog.csdn.net/qq_35984445/article/details/115622634?spm=1001.2014.3001.5502,如有侵權,請聯絡刪除。