资讯专栏INFORMATION COLUMN

cesium学习

Tecode / 2502人阅读

摘要:是围绕轴旋转,也叫偏航角,如图所示。模型属性设置对于加入中的模型,一般用。如若修改他们的属性,就可根据这两个类型向下寻找属性,不可修改它的私有属性。获取单个模型,用去除版权信息之博客博客实例

1.几种坐标
cesium事件
1.相机事件(移动开始、移动结束等等)
viewer.scene.camera.moveEnd.addEventListener(function(){

});


2.鼠标事件(单击、移动、右键等)
var handler = new Cesium.ScreenSpaceEventHandler(viewer.scene.canvas);
handler.setInputAction(function (movement) {
     // 处理鼠标移动事件
     // 更新鼠标位置
    mousePosition = movement.endPosition;
}, Cesium.ScreenSpaceEventType.MOUSE_MOVE);

handler.setInputAction(function(click) {
   // 处理鼠标按下事件
   // 获取鼠标当前位置
   mousePosition = click.position;
 }, Cesium.ScreenSpaceEventType.LEFT_DOWN);


3.渲染事件(实时渲染,很关键的一个事件)
var renderEnd = viewer.scene.postRender.addEventListener(function(){


});

> [提示信息][2]
pitch yaw roll是什么

在航空中,pitch, yaw, roll如图2所示。

pitch是围绕X轴旋转,也叫做俯仰角,如图3所示。

yaw是围绕Y轴旋转,也叫偏航角,如图4所示。

roll是围绕Z轴旋转,也叫翻滚角,如图5所示。

实体(Entity)
model:
    minimumPixelSize与maximumScale组合可以控制模型远近时候的大小
    availability: 代表该实体存在的有效时间,如下所示,
    availability : new Cesium.TimeIntervalCollection([new Cesium.TimeInterval({
        start : start,
        stop : stop
    })])
图层(viewer.imageryLayers/viewer.scene. imageryLayers)
得到影像图层的集合,将其渲染到球体上,它是一个ImageryLayerCollection类型的,可以通过addImageryProvider()方法(返回值是ImageryLayer类型)进行添加,参数是各个provider(地图渲染引擎)。
viewer.imageryLayers.addImageryProvider(new Cesium.PieMapServerImageryProvider({
       url: "//localhost:8082/service/v1/tile?map=dongsha",
        enablePickFeatures: false
    }));
大气、光照、雾效等环境特效

光照: scene.globe.enableLighting
雾效:scene.fog.enabled
大气:scene.skyAtmosphere

相机控制

Scene.ScreenSpaceCameraController:根据鼠标修改相机的方位,在里面可以选择是否禁用鼠标缩放、旋转等功能

时间控制

获取当前时间 var time = viewer.clock.currentTime;
viewer.clock.onTick.addEventListener(function(clock){
//回调函数,时间变化就执行(即使停止时间轴仍然会执行。。。。)
});
JulianDate:代表天文朱利安时间,用的是世界协调时,比北京时间晚8个小时,它有clone方法,可避免时间被修改
var start = Cesium.JulianDate.fromDate(new Date(2015, 2, 25, 16));
var stop = Cesium.JulianDate.addSeconds(start, 360, new Cesium.JulianDate());//360是秒
viewer.clock.startTime = start.clone();
viewer.clock.stopTime = stop.clone();
viewer.clock.currentTime = start.clone();
viewer.clock.clockRange = Cesium.ClockRange.LOOP_STOP;//待研究
viewer.clock.multiplier = 1.0;//倍数

关于地形

viewer.scene.globe.depthTestAgainstTerrain = true;
为true时,球体会有高程遮挡效果(在没有地形时候也会有高程遮挡效果)。

模型属性设置

对于加入cesium中的模型,一般用entity。如若修改他们的属性,就可根据这两个类型向下寻找属性,不可修改它的私有属性。
获取单个模型,用entity.getById()

去除版权信息

viewer._cesiumWidget._creditContainer.style.display = "none";

Cesium之Primitive
博客
博客实例

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/106399.html

相关文章

  • 数字高程模型(Digital Elevation Model) DEM 切片以及数据发布与展示学习

    摘要:是一套库,用来渲染地球,区域地图,和多种要素,不需要安装任何插件就能在支持最新标准的浏览器上运行,支持硬件加速,非常适合动态数据在图层上的展示,是一个跨平台,开源,非常有前途的表现层库。 Cesiumjs 是一套javascript库,用来渲染3D地球,2D区域地图,和多种GIS要素,不需要安装任何插件就能在支持最新HTML5标准的浏览器上运行,支持WebGL硬件加速,非常适合动态数据...

    FleyX 评论0 收藏0
  • 记录参与Cesium罗盘控件(cesium-navigation-es6)的感想

    摘要:的罗盘控件最早来自于颗星,截至日,最近的更新是两年以前,同时他的使用方式是或示例参见这里。当然第一步先是支持到最新版本,至于想法,会利用业余时间逐步实现的。这个项目也是我第一次参与项目,也有好几个夜晚在专注做这个事情。 ...

    dackel 评论0 收藏0
  • Cesium的3D在多个单页面应用中,内存只增不减致内存溢出问题的解决

    摘要:解决思路既然每访问一次就会一个,那能不能就创造一个全局的,让他一直存在,通过显示与隐藏去控制在每个单页面应用中的显示呢。 1、背景: 项目使用的语言是vue+iview,因为用到了3D,所以找公司买了3d地图的产品,但是问题随之而来。把我们项目需要用到的3d地图封装成一个组件叫3dMap.vue,方便各个页面调用,vue的工作机制是在离开当前页面的时候把当前页面进行销毁,但是由于C...

    zlyBear 评论0 收藏0
  • 从零开始写 PHP 扩展(一)

    摘要:对于每个来说,都有着内心的一种希望写扩展的冲动了吧。然而,缺乏一个很好的切入点。生成了扩展之后,我们会看到四个文件和一个文件夹。虽然大写的有宏定义,但是为什么会报错,我也不太清楚了。这个宏最终会被翻译成一个函数。 PHP 是用 C 语言写的。对于每个 PHPer 来说,都有着内心的一种希望写扩展的冲动了吧。然而,缺乏一个很好的切入点。Google 上搜 PHP 扩展开发,大部分都是复制...

    shiina 评论0 收藏0
  • Vue下的cesium使用GeoServer的wms服务跨域问题

    摘要:两种方案中间件我没搞成功把文件放进去之后改好了报,这个我没搞成功就不多说了,需要的可以自行搜索一波。需要监听的项目所在端口号就比如我的项目启动端口是,这里就写地址,本地和都可以项目中的路径这个意思就是在项目中访问的时候把请求转到是转发地址 两种方案 coess中间件(我没搞成功) 把class文件放进去之后改好了web.xml报504,这个我没搞成功就不多说了,需要的可以自...

    Seay 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<