Cesium 动态绘制点线面(附源码下载)
2024-10-15 23:06:19
我写的这个点线面绘制融入了增删改的功能。
其中可以通过手动点击地图进行动态绘制线面,也支持通过给定坐标数组来进行线面的增加。
绘制好的线面,可以点击进行修改;
以上介绍了我的大概的要给操作,下面以面的构建来进行代码解释;
cesium中想动态构建线面,离不开的一个属性就是CallbackProperty。
以下是部分核心代码:
1、构建面核心代码
此处面的postions用了callbackproperty,就可以进行动态绘制了,关于property的讲解可以参阅:https://www.jianshu.com/p/f0b47997224c
createPolygon: function(obj) {
var $this = this;
return this.viewer.entities.add({
polygon: {
hierarchy: new Cesium.CallbackProperty(function() {
return $this.positions
}, false),
clampToGround: obj.clampToGround || true,
show: true,
fill: obj.fill || true,
material: obj.material || Cesium.Color.WHITE,
width: obj.width || 3,
outlineColor: obj.outlineColor || Cesium.Color.BLACK,
outlineWidth: obj.outlineWidth || 1,
outline: false || obj.outline } });
},
2、操作逻辑核心代码
大致解释以下操作逻辑:
首先是绑定了鼠标左击,当鼠标在地图上点击时,会保存点击的坐标,用于构建面。鼠标移动时,会动态显示面;
鼠标右击时结束操作;
更多详情见下面链接文章:
文章提供源码,对本专栏感兴趣的话,可以关注一波
最新文章
- Oracle数据库基础知识
- Android应用开发基础之十:多媒体编程
- URL重写的优缺点分析
- error C2065:未声明的标识符错误
- iOS CocoaPods自动管理第三方开源库
- Oracle EBS-SQL (PO-16):检查采购订单完成情况统计.sql
- 根据CSS的class选择DOM
- 如果去掉UITableView上的section的headerView和footerView的悬浮效果
- CSS 文章链接
- redis哨兵集群配置
- Python的几个爬虫代码整理(网易云、微信、淘宝、今日头条)
- Java NIO 系列学习(一)Java NIO概述
- ajax、json、jsonp
- 26、jQuery
- JMeter 教程汇总链接
- httpd配置文件httpd.conf规则说明和一些基本指令
- linuxserver本地和百度云备份脚本小试
- 记录一次linux删除mysql
- uva-10763-交换生
- 好用的 FTP 软件之 FileZilla 技巧教程