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;
}
我有一个实体的 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;
}