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
      }
  });

})
相关推荐
用户938515635074 小时前
从 O(n²) 到 O(nlogn):一文读懂快速排序的“快”与“妙”
javascript·算法
橘子星4 小时前
LLM 无状态架构实践:从原理到代码落地
前端·javascript·人工智能
LiuMingXin4 小时前
意图与代码之间:AI编程范式全景解读
前端·后端·面试
壹方秘境5 小时前
ApiCatcher支持抓包HTTP传输大文件的实现原理分享
前端·后端·客户端
一份执念5 小时前
uni-app项目 (vue+vite + uni-UI)中引入umd格式JS文件,微信小程序中导入报错处理方案
前端·uni-app·echarts
To_OC5 小时前
手写快排次次翻车?别死背快排模板了,这才是面试官想听的底层逻辑
javascript·算法·排序算法
ClouGence5 小时前
2026 年自动化测试工具选型指南:8 款主流工具对比
前端·测试
lichenyang4536 小时前
为什么需要双线程通信、JavaScriptProxy 和 runJavaScript 分别干什么
前端
以和为贵6 小时前
前端也能搞懂 RAG:用 JS 手写一条最小检索增强链路
前端·人工智能·面试
风止何安啊6 小时前
网课倍速痛点解决:一套前端代码实现自由控速播放器
前端·javascript·node.js