首页 前端知识 Cesium笔记记录,html5移动web开发指南

Cesium笔记记录,html5移动web开发指南

2024-05-05 12:05:49 前端知识 前端哥 457 109 我要收藏

相机从当前位置飞行到新的空间位置(显示设置的位置时会有个过度)。

// 1. 飞向通过top-down视图表示的位置

viewer.camera.flyTo({

destination : Cesium.Cartesian3.fromDegrees(-117.16, 32.71, 15000.0)

});

// 2. 飞向通过top-down视图表示的矩形

viewer.camera.flyTo({

destination : Cesium.Rectangle.fromDegrees(west, south, east, north)

});

// 3. 飞向利用单位向量表示方向(orientatin)的位置

viewer.camera.flyTo({

destination : Cesium.Cartesian3.fromDegrees(-122.19, 46.25, 5000.0),

orientation : {

direction : new Cesium.Cartesian3(-0.04231243104240401, -0.20123236049443421, -0.97862924300734),

up : new Cesium.Cartesian3(-0.47934589305293746, -0.8553216253114552, 0.1966022179118339)

}

});

// 4. 飞向利用方位角(heading)、俯仰角(pitch)、滚动角(roll)表示方向(orientatin)的位置

viewer.camera.flyTo({

destination : Cesium.Cartesian3.fromDegrees(-122.19, 46.25, 5000.0),

orientation : {

heading : Cesium.Math.toRadians(175.0),

pitch : Cesium.Math.toRadians(-35.0),

roll : 0.0

}

});

4.3 orientation角度详解


roll 是围绕 X 轴旋转;

pitch 是围绕 Y 轴旋转;

heading 是围绕 Z 轴旋转

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ytZfFEdO-1627047403797)(695334-20190326182805986-694175803.png)]

五、加载3dtiles数据

================================================================================

给建筑加载立体图形

// 坐标设置在纽约,这样会有默认的3dTiles数据

var initialPosition = Cesium.Cartesian3.fromDegrees(-74.01881302800248, 40.69114333714821, 753);

var initialOrientation = new Cesium.HeadingPitchRoll.fromDegrees(21.27879878293835, -21.34390550872461, 0.0716951918898415);

viewer.scene.camera.setView({

destination: initialPosition,

orientation: initialOrientation,

endTransform: Cesium.Matrix4.IDENTITY

});

// 加载3DTiles数据,纽约进行封装了

var city = viewer.scene.primitives.add(new Cesium.Cesium3DTileset({url:Cesium.IonResource.fromAssetId(5741)}))

5.1 设置样式


//设置3DTiles样式

//方法一

// var transparentStyle = new Cesium.Cesium3DTileStyle({

// color:“color(‘white’,0.3)”,

// show: true

// })

//方法二(根据楼的高度设置不同颜色)

var heightStyle = new Cesium.Cesium3DTileStyle({

color:{

conditions:[

[“${height} >= 300”,“rgba(45,0,75,0.5)”],

[“${height} >= 200”,“rgb(102,71,151)”],

[“${height} >= 100”,“rgb(170,162,204)”],

[“${height} >= 50”,“rgb(224,226,238)”],

[“${height} >= 25”,“rgb(252,230,200)”],

[“${height} >= 10”,“rgb(248,176,87)”],

[“${height} >= 5”,“rgb(198,106,11)”],

[“true”,“rgb(102,71,151)”]

]

}

});

city.style = heightStyle

六、加载czml文件

=============================================================================

czml是官方自定义的文件格式

//加载czml文件

var dronePromise = Cesium.CzmlDataSource.load(‘SampleData/sampleFlight.czml’)

//创建一个无人机对象

var drone;

dronePromise.then(function(dataSource){

viewer.dataSources.add(dataSource)

//根据id获取czml中的数据

drone = dataSource.entities.getById(‘Aircraft/Aircraft1’);

drone.model = {

// 模型路径

uri : ‘SampleData/Models/pla/客机模型.gltf’,

// uri : ‘SampleData/Models/CesiumDrone.gltf’,

minimumPixelSize: 80,

maximumScale: 500,

silhouetteColor: Cesium.Color.WHITE,

silhouetteSize:2

}

//基于采样位置的加法计算定向

drone.orientation = new Cesium.VelocityOrientationProperty(drone.position)

//平滑路径插值

drone.position.setInterpolationOptions({

interpolationAlgorithm:Cesium.HermitePolynomialApproximation,

interpolationDegree:2

})

drone.viewFrom = new Cesium.Cartesian3(0,-30,30);

})

七、Entity类

============================================================================

官方文档中有一个 entity 的实体类对象

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ccKngGYQ-1627047403801)(image-20210705174552710.png)]

7.1 展示一个实体


可以通过设置一个 Entity 类(可以是一个模型、多边形、圆球等),

然后通过viewer.entities.add() 添加到页面当中

//添加一个实体

var entity = viewer.entities.add({

name: ‘无人机’,

//实体显示位置

position: Cesium.Cartesian3.fromDegrees(

-123.0744619,//经度

44.0503706,//维度

1500,//高度

),

小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Web前端开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img
img
img
img

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频

如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注:前端)
img

最后

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

大厂面试问深度,小厂面试问广度,如果有同学想进大厂深造一定要有一个方向精通的惊艳到面试官,还要平时遇到问题后思考一下问题的本质,找方法解决是一个方面,看到问题本质是另一个方面。还有大家一定要有目标,我在很久之前就想着以后一定要去大厂,然后默默努力,每天看一些大佬们的文章,总是觉得只有再学深入一点才有机会,所以才有恒心一直学下去。

端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】](https://bbs.csdn.net/topics/618166371)**

大厂面试问深度,小厂面试问广度,如果有同学想进大厂深造一定要有一个方向精通的惊艳到面试官,还要平时遇到问题后思考一下问题的本质,找方法解决是一个方面,看到问题本质是另一个方面。还有大家一定要有目标,我在很久之前就想着以后一定要去大厂,然后默默努力,每天看一些大佬们的文章,总是觉得只有再学深入一点才有机会,所以才有恒心一直学下去。

转载请注明出处或者链接地址:https://www.qianduange.cn//article/6886.html
标签
评论
发布的文章

String转Json的几种方式

2024-05-09 11:05:04

iOS ------ JSONModel源码

2024-05-09 11:05:02

java去除 json 中的 \n, \t, \r

2024-05-09 11:05:57

大家推荐的文章
会员中心 联系我 留言建议 回顶部
复制成功!