展示圖:
功能思路:
使用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,如有侵權,請聯系刪除。