cesium模型不遮挡点线面_Cesium 动态绘制点线面(修改中,暂无源码,核心代码已放!)...

这篇博客介绍了如何在Cesium中实现动态绘制和编辑点、线、面,利用CallbackProperty特性实现不遮挡效果。用户可以通过点击地图手动绘制,也可以通过坐标数组创建。博客提供了面的构建核心代码和操作逻辑,包括鼠标点击和移动事件处理,以及面的动态显示和结束操作。
摘要由CSDN通过智能技术生成

我写的这个点线面绘制融入了增删改的功能。

其中可以通过手动点击地图进行动态绘制线面,也支持通过给定坐标数组来进行线面的增加。

绘制好的线面,可以点击进行修改;

以上介绍了我的大概的要给操作,下面以面的构建来进行代码解释;

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、操作逻辑核心代码

大致解释以下操作逻辑:

首先是绑定了鼠标左击,当鼠标在地图上点击时,会保存点击的坐标,用于构建面。鼠标移动时,会动态显示面;

鼠标右击时结束操作;

```

startCreate: function(callBack) {

var $this = this;

t

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值