Cesium:基于位置数组动态改变实体的位置

时间:2018-03-25 11:23:42

标签: cesium

我有一个具有10秒周期性的实体的位置(lat,lon,alt)的JSON。我需要动态地改变实体的位置,关于时钟值。

我做了什么:我设置了一个定时器,定期检查时钟值。使用线性插值我计算实体的位置并改变它。

有更好的方法吗?如果是,请分享示例。

1 个答案:

答案 0 :(得分:3)

为此目的有SampledPositionsProperty功能。

  function computePositions(arr) {

      var property = new Cesium.SampledPositionProperty();

      for(var i=0;i<arr.length;i++)
      {
        var position= new Cesium.Cartesian3.fromDegrees( arr[i].lon, arr[i].lat, arr[i].alt);
        var time=new Date(arr[i].time+" +0000");
        property.addSample(new Cesium.JulianDate.fromDate(time), position);

      }

      return property;
  }