Cesium初探-CallbackProperty

在Cesium中,CallbackProperty 是一种非常有用的特性,可以用来动态更新实体的属性,如位置、方向、高度等。CallbackProperty 允许你在指定的时间点计算属性值,这样就可以实时地改变实体的状态而不需要频繁地重新设置整个属性。

下面是一个使用 CallbackProperty 来创建动态更新位置的实体的例子:

javascript 复制代码
onMounted(()=>{
  Cesium.Ion.defaultAccessToken = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiI1NmQ2YjQwMC0wOTAzLTQxYWItODliMC1iYTFjMzdiM2U4YzEiLCJpZCI6MjMyMjU4LCJpYXQiOjE3MjI1ODkzNzV9._ql6Oa6Tls-APS5Ag0692Co91xG_QqcEmd4sAo8azJ8'
  viewer = new Cesium.Viewer('container',{
    // terrainProvider : Cesium.createWorldTerrain(),
    imageryProvider : new Cesium.UrlTemplateImageryProvider({
        url : 'https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}'
    })
  })

  // 创建一个CallbackProperty来定义位置
  var positionCallbackProperty = new Cesium.CallbackProperty(()=>{
    var lat = 117.0 + Math.sin(Cesium.JulianDate.now().secondsOfDay) * 10.0
    var lon = 40.0 + Math.cos(Cesium.JulianDate.now().secondsOfDay) * 5.0
    return Cesium.Cartesian3.fromDegrees(lat, lon)
  },false)

  // 创建实体并使用CallbackProperty
  var dynamicEntity = viewer.entities.add({
      name : 'Dynamic Entity',
      position : positionCallbackProperty,
      point : {
          pixelSize : 10,
          color : Cesium.Color.BLUE
      }
  });

})
相关推荐
Data_Adventure几秒前
Vue 3 手机外观组件库
前端·github copilot
泯泷6 分钟前
Tiptap 深度教程(二):构建你的第一个编辑器
前端·架构·typescript
lilv667 分钟前
python中用xlrd、xlwt读取和写入Excel中的日期值
开发语言·python·excel
屁__啦12 分钟前
前端错误-null结构
前端
lichenyang45312 分钟前
从0开始的中后台管理系统-5(userList动态展示以及上传图片和弹出创建用户表单)
前端
未来之窗软件服务17 分钟前
解析 div 禁止换行与滚动条组合-CSS运用
前端·css
不远处的小阿秋37 分钟前
2025年,前端还需要虚拟DOM吗
前端
DcTbnk43 分钟前
tailwindcss、postcss、autoprefixer,这三个分别是干嘛的
前端
zReadonly1 小时前
antdv@4.x在360极速浏览器兼容解决办法
前端
yede1 小时前
页面中模块通讯简单实现
前端·javascript·html