直接上代码

图片:

自行旋转图片为横的

代码:

import * as Cesium from 'cesium/Cesium'
class PolylineTrailMaterial {constructor(option = {}) {this._definitionChanged = new Cesium.Event()this._color = undefinedthis._colorSubscription = undefinedthis._time = (new Date()).getTime()this.color = option.color ? option.color : Cesium.Color.fromCssColorString('rgba(90,90,255, 1)')this.duration = option.duration ? option.duration : 5000this.img = option.img ? option.img : require('../../assets/image/color2.png')// 类型(会自动加载到cesium中)this.type = option.type ? option.type : 'PolylineTrail'// 着色器this.source = option.source ? option.source : 'czm_material czm_getMaterial(czm_materialInput materialInput)' +'{' +'czm_material material = czm_getDefaultMaterial(materialInput);' +'vec2 st = materialInput.st;' +'vec4 colorImage = texture2D(image, vec2(fract(st.s - time), st.t));' +'material.alpha = colorImage.a * color.a;' +'material.diffuse = (colorImage.rgb+color.rgb)/2.0;' +'return material;' +'}'this.addMaterial()}getType() {return 'PolylineTrail'}getValue(time, result) {if (!Cesium.defined(result)) {result = {}}result.color = Cesium.Property.getValueOrClonedDefault(this._color, time, Cesium.Color.WHITE, result.color)result.image = this.imgresult.time = (((new Date()).getTime() - this._time) % this.duration) / this.durationreturn result}equals(other) {return this === other || (other instanceof PolylineTrailMaterial && Cesium.Property.equals(this._color, other._color))}addMaterial() {Cesium.Material._materialCache.addMaterial(this.type, {fabric: {type: this.type,uniforms: {color: new Cesium.Color(1.0, 0.0, 0.0, 0.5),image: this.img,time: 100},source: this.source},translucent: (material) => {return true}})// 注意Cesium.defineProperties会报错,需要改为ObjectObject.defineProperties(PolylineTrailMaterial.prototype, {isConstant: {get: () => {return false},configurable: true},definitionChanged: {get: () => {return this._definitionChanged},configurable: true},color: {value: Cesium.createPropertyDescriptor('color'),configurable: true,writable: true}})}
}
export default PolylineTrailMaterial

对于如何自定义材质有问题的, 可以查看这个链接的代码

源码例子

Cesium 动态轨迹线 ES6版本相关推荐

  1. Cesium|xt3d动态轨迹线

    Cesium|xt3d动态轨迹线 效果 代码 预览地址 效果 代码 <!DOCTYPE html> <html lang="zh-CN"><head& ...

  2. Cesium实现动态绘制轨迹线

    需求就是一个飞机动画,飞机飞到哪里,轨迹线就画到哪里. 我的轨迹线非常长,从我国出发一直到欧洲那边,光是经过的点就有7000多个. 刚开始的时候想要使用的是entity的画线方法进行轨迹线的绘制,如果 ...

  3. VUE+Cesium 初始化地球,加载三维模型(.glb),绘制轨迹线,homebutton 按键重写(默认定位位置的设置)

    Cesium是什么 我们打开Cesium官网,能够很清晰的看到官方赋予Cesium的使命,即构建世界一流的3D地理空间应用程序.那Cesium到底是个什么东东呢? Cesium是一个跨平台.跨浏览器的 ...

  4. Windows HTML本地快速渲染轨迹线

    有时候需要排查原始数据是否有问题,最直接的就是可视化看效果. Windows渲染有多种方法,可以用mapbox.echarts.也可以用minedata等: echarts渲染轨迹线 minedata ...

  5. 【Android NDK 开发】Android.mk 配置动态库 ( Android Studio 配置动态库 | 动态库加载版本限制 | 本章仅做参考推荐使用 CMake 配置动态库 )

    文章目录 I . Android Studio 中使用 Android.mk 配置动态库 总结 II . 第三方动态库来源 III . 配置 Android.mk 构建脚本路径 IV . 预编译 第三 ...

  6. ES6-1 ES6版本过渡历史

    一 历史 HTML HTML 1, HTML 2, HTML 3 1991-1997 IETF(the Internet Engineering Task Force) 国际互联网工程任务组 1997 ...

  7. cesium动态绘制圆,矩形,自定义区域

    cesium动态绘制圆,矩形,自定义区域 自己封装了一个类,可以放在js文件中引入项目,具体使用和代码如下 class Draw {constructor(viewer, config) {/**ce ...

  8. OpenGL中绘制轨迹线

    在加载进模型后,有时候需要根据模型的移动来绘制轨迹线,假设该轨迹由机器人模型的某个关节,通过机器人关节的移动绘制出,思路如下: 获取机器人模型该关节在世界坐标系中的模型矩阵 根据模型矩阵及起点坐标的值 ...

  9. 百度地图api实现渐变色轨迹线

    使用百度地图api实现的渐变色轨迹线,效果如下: 实现方法: 1.百度地图api使用 首先引入百度地图api的依赖文件 <script type="text/javascript&qu ...

最新文章

  1. 定义一维数组一定要指定个数吗_6.1 C语言一维数组
  2. 零食嘴----美食领域的美丽说
  3. 十三、MySQL存储过程相关知识总结 + 案例讲解(强化)
  4. php sql好处,关于php:使用Doctrine与SQL相比,使用DQL有什么好处?
  5. input中checked复选框进行单选
  6. 细说 Form (表单)(转)
  7. MySQL的position值是什么_MySQL数据库中系统函数POSITION功能简介
  8. 物联网卡和车联网有什么关系
  9. 为什么做AI的都选Python?
  10. 725.分隔链表(力扣leetcode) 博主可答疑该问题
  11. 《大数据技术原理与应用》 期末复习
  12. 一文带你掌握抓包工具的使用-科来
  13. JTT808、JTT1078、TJSATL主动安全踩坑记录
  14. 人工智能算法(一)进化算法
  15. ubuntu 网卡流量_Ubuntu下使用nload查看网卡实时流量
  16. 六度分离(floyd算法,SPFA算法,最短路—Dijkstra算法)
  17. c语言程序0xc0000005解决方案,C语言调试时出现”Unhandled exception 0xC0000005;Access Violation“,是怎么回事呢?...
  18. 斗鱼直播行业名列前茅 泛娱乐布局成效凸显
  19. dll是什么呢?dll丢失如何解决?
  20. hive报错整理之Malformed ORC file 、Invalid postscript.

热门文章

  1. Bitcherry BCHC解决信任危机 助力社交电商站上新风口
  2. Notifications(通知)
  3. Splashtop 推出首款专门面向创作者和创意工作室的高性能远程软件
  4. 新闻组(Newsgroup)
  5. thinkphp mysql md5加密_thinkphp会员登录密码验证md5问题。
  6. 转:曾国藩的“拙”式领导力
  7. Nuxt3嵌套路由,报错Failed to resolve component: NuxtChild
  8. windchill交流第三篇:Windchill中的事件监听
  9. ORACLE RAC+ADG(主备RAC duplicate)
  10. ElasticSearch实战系列五: ElasticSearch的聚合查询基础使用教程之度量(Metric)聚合