参考网站:https://blog.csdn.net/XLSMN/article/details/78752669

1、首先来看一下整体效果

2、具体方法如下:

首先,你必须有两张很重要的图片,你可以从我这里保存为本地

3.具体代码如下

  1.  
    var scene=viewer.scene;
  2.  
    function applyWaterMaterial(primitive, scene) {
  3.  
    primitive.appearance.material = new Cesium.Material({
  4.  
    fabric : {
  5.  
    type : 'Water',
  6.  
    uniforms : {
  7.  
    specularMap:'images/earthspec1k.jpg',
  8.  
    normalMap:'images/waterNormals.jpg',
  9.  
    frequency: 10000.0,
  10.  
    animationSpeed: 0.01,
  11.  
    amplitude: 1.0
  12.  
    }
  13.  
    }
  14.  
    });
  15.  
    }
  16.  
     
  17.  
    var worldRectangle = viewer.scene.primitives.add(new Cesium.Primitive({
  18.  
    geometryInstances : new Cesium.GeometryInstance({
  19.  
    geometry : new Cesium.RectangleGeometry({
  20.  
    rectangle : Cesium.Rectangle.fromDegrees(-180, -90, 180.0, 90.0),
  21.  
    vertexFormat : Cesium.EllipsoidSurfaceAppearance.VERTEX_FORMAT
  22.  
    })
  23.  
    }),
  24.  
    appearance : new Cesium.EllipsoidSurfaceAppearance({
  25.  
    aboveGround : true
  26.  
    }),
  27.  
    show : true
  28.  
    }));
  29.  
     
  30.  
    applyWaterMaterial(worldRectangle, scene);

以上是全球动态水的加载,当然可以针对某片区域水域进行动态水的加载(只需要将上边的矩形换成你要加载动态水区域的边界一系列坐标值)

  1.  
    function applydjk_WaterMaterial(primitive, scene) {
  2.  
    primitive.appearance.material = new Cesium.Material({
  3.  
    fabric : {
  4.  
    type : 'Water',
  5.  
    uniforms : {
  6.  
    normalMap:'images/waterNormals.jpg',
  7.  
    frequency: 10000.0,
  8.  
    animationSpeed: 0.01,
  9.  
    amplitude: 50
  10.  
    }
  11.  
    }
  12.  
    });
  13.  
    }
  14.  
     
  15.  
    var djk_Polygon = viewer.scene.primitives.add(new Cesium.Primitive({
  16.  
    geometryInstances : new Cesium.GeometryInstance({
  17.  
    geometry : new Cesium.PolygonGeometry({
  18.  
    polygonHierarchy : new Cesium.PolygonHierarchy(
  19.  
    Cesium.Cartesian3.fromDegreesArray([
  20.  
    111.48894522023063,32.55843610413914,111.48869238776277,32.55602570974643,111.49004745721604,32.5548361448687,111.49250635559537,32.5526581917131,111.49401017612676,32.55129837476868,111.49557557543416,32.549965127681524,111.49805874806115,32.550219820173126,111.49881935514881,32.550823388219456,111.49893286824275,32.55195597852755,111.4983164393889,32.5535655841798,111.49817521853979,32.554570336381104,111.49914284747027,32.55554277243855,111.49967950821859,32.555814392110264,111.50062151969038,32.556517275179836,111.50149914222958,32.55731250438687,111.50207800636986,32.55757396515373,111.50386396090245,32.55781206769338,111.50391371888884,32.559650818164926,111.50077307397399,32.56013340913413,111.49625702141412,32.560250133340446,111.49171532588734,32.560183453792156,111.48920373670329,32.56015020231049,111.48844043918616,32.55981856869106,111.48743657311691,32.55945303779285,111.48760383414758,32.55863069835514,111.48812831262538,32.55837951411848
  21.  
    ])
  22.  
    ),
  23.  
    vertexFormat : Cesium.EllipsoidSurfaceAppearance.VERTEX_FORMAT
  24.  
    })
  25.  
    }),
  26.  
    appearance : new Cesium.EllipsoidSurfaceAppearance({
  27.  
    aboveGround : true
  28.  
    }),
  29.  
    show : true
  30.  
    }));
  31.  
    applydjk_WaterMaterial(djk_Polygon, scene);

当然,有时获取一系列区域的坐标值数量较多,手动去采集比较麻烦,耗时耗力,推荐一种方法,到Goole earth中画面,然后生成kml文件,里边就包含了你所画区域的边界坐标。(具体做法,可问度娘)

用cesium本身添加水纹效果的更多相关文章

  1. 给日志添加“复制”效果

    给日志添加如上效果的实现方法: 在日志编辑页面,源代码中,添加如下代码,包裹住 目标内容style1: <div class="cnblogs_code"><di ...

  2. WinForm实现类似QQ停靠,显示隐藏过程添加特效效果

    原文:WinForm实现类似QQ停靠,显示隐藏过程添加特效效果 这可能是个老题长谈的问题了,只是在项目中会用到这个效果,所以今天做个记录.大家见了别喷我.在项目中的需求是这样的. 打开程序,在屏幕的右 ...

  3. JS添加标签效果

    JS添加标签效果 在豆瓣网上添加自己的标签是一种常见的效果,今天也就做了一个简单的demo.由于时间的问题 我不多原理,大家可以试着操作几遍就能明白其中的原理了. JSFiddle的效果如下: 点击我 ...

  4. Android开发——为EditText添加烟花效果的实现

    )什么时候发射烟花:监听EditText的文字改变,获取文字数量的变化以确定风的方向,还有获取光标的位置确定爆炸的位置.光标的位置没有具体的方法确定坐标,要通过反射自己计算. 2.  主要实现类 库里 ...

  5. 原生js实现一个DIV的碰撞反弹运动,并且添加重力效果

    继上一篇... 原生js实现一个DIV的碰撞反弹运动,并且添加重力效果 关键在于边界检测,以及乘以的系数问题,实现代码并不难,如下: <!DOCTYPE html> <html la ...

  6. 为div添加滚动效果:

    为div添加滚动效果: .xxxx{ width: 100%; height: 100%; overflow: hidden; overflow-y: auto;} 代码片段 <div clas ...

  7. [Xcode 实际操作]二、视图与手势-(5)给图像视图添加圆角效果

    目录:[Swift]Xcode实际操作 本文将演示给矩形图片添加圆角效果 import UIKit class ViewController: UIViewController { override ...

  8. WPF 实现水纹效果

    原文:WPF 实现水纹效果 鼠标滑过产生水纹,效果图如下:     XMAL就放置了一个img标签   后台主要代码 窗体加载: private void Window_Loaded(object s ...

  9. cesium 实现风场图效果(附源码下载)

    前言 cesium 官网的api文档介绍地址cesium官网api,里面详细的介绍 cesium 各个类的介绍,还有就是在线例子:cesium 官网在线例子,这个也是学习 cesium 的好素材. 内 ...

随机推荐

  1. POJ3189 Steady Cow Assignment —— 二分图多重匹配/最大流 + 二分

    题目链接:https://vjudge.net/problem/POJ-3189 Steady Cow Assignment Time Limit: 1000MS   Memory Limit: 65 ...

  2. 一步一步学Silverlight 2系列(3):界面布局

    述 Silverlight 2 Beta 1版本发布了,无论从Runtime还是Tools都给我们带来了很多的惊喜,如支持框架语言Visual Basic, Visual C#, IronRuby, ...

  3. 【转】Java 并发编程:线程间的协作(wait/notify/sleep/yield/join)

    一.线程的状态 Java中线程中状态可分为五种:New(新建状态),Runnable(就绪状态),Running(运行状态),Blocked(阻塞状态),Dead(死亡状态). New:新建状态,当线 ...

  4. EF1:MVC/EF(Entity Framewok) /First Migrations

    1. 概念 Entity Framework: ADO.NET Entity Framework 是微软以 ADO.NET 为基础所发展出来的对象关系对应 (O/R Mapping) 解决方案.(此处 ...

  5. 浅谈JAVA中如何利用socket进行网络编程(一)

    转自:http://developer.51cto.com/art/201106/268385.htm Socket是网络上运行的两个程序间双向通讯的一端,它既可以接受请求,也可以发送请求,利用它可以 ...

  6. asp.net MVC5 中的捆绑和更改bootstap默认的样式

    在MVC5的视图中使用@Scritps.Render(),@Styles.Render() 分别可以加载样式和脚本.捆绑的和实际的路径都可以. 并且可以利用 编程的方式灵活引用css文件和脚本文件. ...

  7. centos配置nodejs和mysql

    我使用的是centos7.2 64位,弄了一大晚上试了各种方法,安装的nodejs就是启动不了服务器.全是IP能ping通,浏览器不能访问.端口都是打开了的.安全组也设置了,就是不行.最后阿里云客服电 ...

  8. bzoj 1499: [NOI2005]瑰丽华尔兹【dp+单调队列】

    设f[a][i][j]为第a段时间结束时在(i,j)位置的最长滑行距离,转移很好想,就是分四个方向讨论,然后枚举这段时间的滑行长度取个max即可 但是这样是O(n^4)的,考虑优化 发现同一行或列,取 ...

  9. Luogu P1991 无线通讯网 【最小生成树】

    题目描述 国防部计划用无线网络连接若干个边防哨所.2 种不同的通讯技术用来搭建无线网络: 每个边防哨所都要配备无线电收发器:有一些哨所还可以增配卫星电话. 任意两个配备了一条卫星电话线路的哨所(两边都 ...

  10. SpringMVC传递multiple类型select后台Controller的接收方法

    Spring MVC在接收集合请求参数时,需要在Controller方法的集合参数里前添加@RequestBody,而@RequestBody默认接收的enctype (MIME编码)是applica ...