Cesium初探-CallbackProperty

发布于:2025-07-14 ⋅ 阅读:(24) ⋅ 点赞:(0)

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

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

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

})


网站公告

今日签到

点亮在社区的每一天
去签到