当前位置: 首页 > news >正文

CesiumJS 案例 P4:创建三角形、创建多边形、创建折线、创建盒子、创建圆柱

CesiumJS

  • CesiumJS API:https://cesium.com/learn/cesiumjs/ref-doc/index.html

  • CesiumJS 是一个开源的 JavaScript 库,它用于在网页中创建和控制 3D 地球仪(地图)


一、创建三角形

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>创建 Entity - 三角形</title><link rel="stylesheet" href="../js/Cesium-1.112/Build/Cesium/Widgets/widgets.css" /><style>* {margin: 0;padding: 0;box-sizing: border-box;}html,body {width: 100%;height: 100%;}.container {width: 100%;height: 100%;}</style></head><body><div id="container"></div></body><script src="../js/Cesium-1.112/Build/Cesium/Cesium.js"></script><script>const viewer = new Cesium.Viewer("container");// 创建实体实例const entity = viewer.entities.add({polygon: {hierarchy: Cesium.Cartesian3.fromDegreesArray([-110.0,25.0, // 第一个顶点的经度、纬度-100.0,25.0, // 第二个顶点的经度、纬度-100.0,35.0, // 第三个顶点的经度、纬度]),material: Cesium.Color.BLUE.withAlpha(0.5),},});// 设置相机当前正在跟踪的实体实例viewer.trackedEntity = entity;</script>
</html>

二、创建多边形

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>创建 Entity - 多边形</title><link rel="stylesheet" href="../js/Cesium-1.112/Build/Cesium/Widgets/widgets.css" /><style>* {margin: 0;padding: 0;box-sizing: border-box;}html,body {width: 100%;height: 100%;}.container {width: 100%;height: 100%;}</style></head><body><div id="container"></div></body><script src="../js/Cesium-1.112/Build/Cesium/Cesium.js"></script><script>const viewer = new Cesium.Viewer("container");// 创建实体实例const entity = viewer.entities.add({polygon: {hierarchy: Cesium.Cartesian3.fromDegreesArray([-110.0,30.0, // 第一个顶点的经度、纬度-105.0,25.0, // 第二个顶点的经度、纬度-100.0,30.0, // 第三个顶点的经度、纬度-105.0,35.0, // 第四个顶点的经度、纬度-105.0,40.0, // 第五个顶点的经度、纬度]),material: Cesium.Color.BLUE.withAlpha(0.5),},});// 设置相机当前正在跟踪的实体实例viewer.trackedEntity = entity;</script>
</html>

三、创建折线

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>创建 Entity - 折线</title><link rel="stylesheet" href="../js/Cesium-1.112/Build/Cesium/Widgets/widgets.css" /><style>* {margin: 0;padding: 0;box-sizing: border-box;}html,body {width: 100%;height: 100%;}.container {width: 100%;height: 100%;}</style></head><body><div id="container"></div></body><script src="../js/Cesium-1.112/Build/Cesium/Cesium.js"></script><script>const viewer = new Cesium.Viewer("container");// 创建实体实例const entity = viewer.entities.add({polyline: {positions: Cesium.Cartesian3.fromDegreesArray([-75.59777, 40.03883, -122.43747, 37.77493]),width: 5,material: Cesium.Color.BLUE.withAlpha(0.5),},});// 设置相机当前正在跟踪的实体实例viewer.trackedEntity = entity;</script>
</html>

四、创建盒子

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>创建 Entity - 盒子</title><link rel="stylesheet" href="../js/Cesium-1.112/Build/Cesium/Widgets/widgets.css" /><style>* {margin: 0;padding: 0;box-sizing: border-box;}html,body {width: 100%;height: 100%;}.container {width: 100%;height: 100%;}</style></head><body><div id="container"></div></body><script src="../js/Cesium-1.112/Build/Cesium/Cesium.js"></script><script>const viewer = new Cesium.Viewer("container");// 创建实体实例const entity = viewer.entities.add({position: Cesium.Cartesian3.fromDegrees(-123.0744619, 44.0503706, 5000.0),box: {dimensions: new Cesium.Cartesian3(400000.0, 300000.0, 500000.0),material: Cesium.Color.BLUE.withAlpha(0.5),},});// 设置相机当前正在跟踪的实体实例viewer.trackedEntity = entity;</script>
</html>

五、创建圆柱

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>创建 Entity - 圆柱</title><link rel="stylesheet" href="../js/Cesium-1.112/Build/Cesium/Widgets/widgets.css" /><style>* {margin: 0;padding: 0;box-sizing: border-box;}html,body {width: 100%;height: 100%;}.container {width: 100%;height: 100%;}</style></head><body><div id="container"></div></body><script src="../js/Cesium-1.112/Build/Cesium/Cesium.js"></script><script>const viewer = new Cesium.Viewer("container");// 创建实体实例const entity = viewer.entities.add({position: Cesium.Cartesian3.fromDegrees(-123.0744619, 44.0503706, 0.0),cylinder: {length: 200000.0,topRadius: 100000.0,bottomRadius: 100000.0,material: Cesium.Color.BLUE.withAlpha(0.5),},});// 设置相机当前正在跟踪的实体实例viewer.trackedEntity = entity;</script>
</html>

http://www.mrgr.cn/news/51916.html

相关文章:

  • 【SAM模型应用于遥感影像|论文解读3】突破边界与一致性:SAM模型革新遥感影像语义分割
  • React状态管理工具zustand
  • Android开发跳去应用市场评分功能
  • 2025选题推荐|基于SpringBoot的幼儿园智能管理与监控系统的设计与实现
  • HarmonyOS 开发知识总结
  • 深入解析:Pandas DataFrame 的强大之处与实战应用
  • GEE教程:MODIS/006/MOD17A3HGF数据中NPP的下载
  • Tauri(读音:踹你)开发简介:1.创建和运行第一个app
  • 什么是异质结
  • 02.工厂模式设计思想
  • plsql查询Oracle数据库发现有的数据是乱码
  • 智能码二维码zhinengma.cn在供应链管理中有哪些优势?
  • BPMN-Moddle模型校验指南
  • ubuntu中使用cmake编译报错No CMAKE_CXX_COMPILER could be found.的解决方法
  • Scala入门基础(11)类的继承
  • CSDN怎么发布收费文章
  • Android SELinux——调试工具audio2allow介绍(十三)
  • 上海亚商投顾:沪指冲高回落 成渝板块近50股涨停
  • [网络基础]——什么是IP路由,路由优先级,度量值详解
  • iOS应用审核:开发者网站App信息填写指南