前言

 缺少前置学习使用资料,请自行查阅:[https://blog.csdn.net/weixin_44402694/article/details/123110136](https://blog.csdn.net/weixin_44402694/article/details/123110136)以下示例使用到的公共静态资料,不建议下载,建议官网自行下载超图Build资源,示例所涉及图片会在示例使用到时提供出来。如有需要可下载:[https://download.csdn.net/download/weixin_44402694/82180350](https://download.csdn.net/download/weixin_44402694/82180350)。点光源设置。

使用

  • 效果

  • 完整代码

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><meta http-equiv="X-UA-Compatible" content="IE=edge" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>光源 - 点光源设置</title><link href="./public/Build/Cesium/Widgets/widgets.css" rel="stylesheet" /><scripttype="text/javascript"src="./public/Build/Cesium/Cesium.js"></script><style>* {margin: 0;padding: 0;}html,body,#cesium-container {width: 100%;height: 100%;}.panel {position: fixed;left: 10px;top: 10px;z-index: 1;background-color: #fff;padding: 10px;}.panel .btn {cursor: pointer;}</style></head><body><div id="cesium-container" /><div class="panel"><p class="btn">添加点光源</p><p class="btn">清除点光源</p></div><script>// 前置引入echarts|echartlayer js脚本let viewer, scene, pointLightwindow.onload = function () {viewer = new Cesium.Viewer('cesium-container')scene = viewer.sceneloadModelHandler()initBindBtnEventHandler()}// 初始化绑定按钮的点击事件function initBindBtnEventHandler() {const btns = document.querySelectorAll('.panel .btn')btns[0].addEventListener('click', () => {activeCurrentClickBtnHandler(0)addPointLightHandler()})btns[1].addEventListener('click', () => {activeCurrentClickBtnHandler(1)removePointLightHandler()})}// 加载模型function loadModelHandler() {const promise = viewer.scene.open('http://www.supermapol.com/realspace/services/3D-BIMbuilding/rest/realspace')Cesium.when(promise, () => {setSceneCameraViewHandler()})}// 添加点光源到场景中function addPointLightHandler() {const position = new Cesium.Cartesian3(-2180734.470505298,4379055.704271189,4092558.53920364)const options = {color: new Cesium.Color(1, 1, 1, 1), // 光源颜色cutoffDistance: 10, // 扩散距离decay: 1, // 衰减因子intensity: 20, // 光源强度}pointLight = new Cesium.PointLight(position, options)scene.addLightSource(pointLight)}// 删除点光源function removePointLightHandler() {scene.removeLightSource(pointLight)}// 设置场景指定视角function setSceneCameraViewHandler() {scene.camera.setView({destination: new Cesium.Cartesian3(-2180753.065987198,4379023.266141494,4092583.575045952),orientation: {heading: 4.0392222751147955,pitch: 0.010279641987852584,roll: 1.240962888005015e-11,},})}// 高亮当前点击的按钮function activeCurrentClickBtnHandler(idx) {const btns = document.querySelectorAll('.panel .btn')Array.from(btns).forEach((btn, index) => {btn.style.color = index === idx ? 'red' : '#000'})}</script></body>
</html>

【超图+CESIUM】【基础API使用示例】45、超图|CESIUM - 点光源设置相关推荐

  1. 【超图+CESIUM】【基础API使用示例】04、超图|CESIUM - 设置地图风格样式

    前言 缺少前置学习使用资料,请自行查阅:[https://blog.csdn.net/weixin_44402694/article/details/123110136](https://blog.c ...

  2. 【超图+CESIUM】【基础API使用示例】10、超图|CESIUM - 场景出图、下载当前截图

    前言 缺少前置学习使用资料,请自行查阅:[https://blog.csdn.net/weixin_44402694/article/details/123110136](https://blog.c ...

  3. 【超图+CESIUM】【基础API使用示例】42、超图|CESIUM - 绘制编辑线段|读取kml文件绘制编辑|导出kml线段数据

    前言 缺少前置学习使用资料,请自行查阅:[https://blog.csdn.net/weixin_44402694/article/details/123110136](https://blog.c ...

  4. 【超图+CESIUM】【基础API使用示例】38、超图|CESIUM - 特效-云层设置

    前言 缺少前置学习使用资料,请自行查阅:[https://blog.csdn.net/weixin_44402694/article/details/123110136](https://blog.c ...

  5. 【超图+CESIUM】【基础API使用示例】41、超图|CESIUM - 特效-雪景设置

    前言 缺少前置学习使用资料,请自行查阅:[https://blog.csdn.net/weixin_44402694/article/details/123110136](https://blog.c ...

  6. 【超图+CESIUM】【基础API使用示例】43、超图|CESIUM - 绘制编辑面|读取kml文件绘制编辑|导出kml面数据

    前言 缺少前置学习使用资料,请自行查阅:[https://blog.csdn.net/weixin_44402694/article/details/123110136](https://blog.c ...

  7. 【超图+CESIUM】【基础API使用示例】22、超图|CESIUM - 标绘面:Cesium.DrawHandler绘制面Cesium.DrawMode.Polygon

    前言 缺少前置学习使用资料,请自行查阅:[https://blog.csdn.net/weixin_44402694/article/details/123110136](https://blog.c ...

  8. 【超图+CESIUM】【基础API使用示例】16、超图|CESIUM -设置地球模式:椭球模式、圆球模式

    前言 缺少前置学习使用资料,请自行查阅:[https://blog.csdn.net/weixin_44402694/article/details/123110136](https://blog.c ...

  9. 【超图+CESIUM】【基础API使用示例】50、超图|CESIUM - moveLeft\moveRight\moveForward\moveBackward实现运动中的碰撞检测效果

    前言 由于项目业务需要,所以实现了这四个api的碰撞检测效果. 核心是通过ray射线来做碰撞检测. 代码目录结构 核心代码 <ul class="btn-list">& ...

  10. Cesium基础使用介绍

    既然给我发了参与方式,不参加似乎有点不给人面子,反正也没多少人看我的博客,那我就试试吧,也欢迎大家自己参与:2017年度全网原创IT博主评选活动投票:http://www.itbang.me/goVo ...

最新文章

  1. 中国最厉害的人都上过这所最穷的大学!
  2. libevent mysql_在 libevent 中使用 MariaDB(MySQL)
  3. CVPR2021 | 实现图像的“无限放大”,超详细局部隐式图像函数(LIIF)解读
  4. 代码注释规范-google版本
  5. IOS 同步请求和异步请求 ios开发教程
  6. Mysql中使用命令行导入.sql文件新建数据库表(图文)
  7. 将信号量代码生成静态库以及动态库
  8. python基础:字典的使用
  9. 本周 火火火火火 的开源项目
  10. Java中的Flyweight设计模式
  11. C++,error c2662 cannot convert 'this' pointer from 'const A' to 'A '
  12. 【Allennlp】: 怎样创建Allennlp中的Configuration文件
  13. 基于MediaTek_ApSoC_SDK_4320_20150414 编译mt7621 的uboot
  14. iphone免越狱!使用filza修改设备型号!支持最高ios14.3
  15. 遗传算法(GA)解决MTSP问题及Matlab代码
  16. c语言中Exec函数,子进程的执行 -- exec 函数
  17. 数据库查询语句遇到:Unknown column 'XXXX' in 'where clause'解决方法
  18. 7.7 Introduce Foreign Method 引入外部方法
  19. 创新创业大赛的目的是什么?为什么要参加创新创业大赛?
  20. 李翰卿治疗小儿五更咳嗽经验

热门文章

  1. 使用 Roadrunner 为 PHP 程序加速
  2. google浏览器添加抓包插件
  3. 【项目实战】仓库信息管理系统(layui+SSM+SpringBoot)
  4. 20135231 —— Linux 基础入门学习
  5. 在n*n方阵里填入1,2,...n*n,要求填成蛇形
  6. 装机配置相关---激活win7旗舰版 office
  7. 设置C++缺省源的方法(DEV C++)
  8. html怎样让线段显示长度,CAD想要知道线段的长度有什么技巧吗?
  9. Python 数据处理与分析(三) 设计一个高回报的投资组合(投资回报和风险分析)任务 2:计算不同类型的收益率和投资组合的收益率
  10. 为什么电梯安装企业项目接得更多,利润更少?