Cesium:根据位置数组动态更改实体的位置

Cesium: dynamically change position of an entity on the basis of positions array

我有一个实体的 JSON 个位置(lat、lon、alt),周期为 10 秒。我需要根据时钟值动态更改实体的位置。

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

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

有一个 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;
  }