AnimationTool

new Cesium.AnimationTool(viewer, options)

Name Type Default Description
viewer Object 场景视图
options Object 附加选项
Name Type Default Description
toolType Number routes optional 工具类型,routes:动画漫游,point:绕点旋转
heading Number 0 optional 航向角(相机视角),绕Z轴旋转。弧度值。绕视点旋转时,这个值是自增的,因此只有初始化时生效,不可实时修改
pitch Number 0 optional 俯仰角(相机视角),绕Y轴旋转。弧度值。绕视点旋转时,这个值可实时修改。
distance Number 0 optional 绕点旋转时,相机定位点的平移距离(沿着相机视角的相反方向),米。绕视点旋转时,这个值可实时修改。不能为空或者是0。
duration Number 8 optional 绕点旋转时,动画持续时间
moveToStop Number true optional 绕点旋转时,移动鼠标,停止旋转。true激活该特性,false,不激活该特性。
animationType Number 2 optional 0:一般场景,不操作相机;1:跟随;2:锁定第一视角;3:上帝视角
isLoop Boolean false optional 是否循环
showPath Boolean false optional 是否显示路径 (默认不显示路径)
positions Array optional 漫游路径点 初始化可以不设置 但一定要在开始前设置好
speed Number 1 optional 漫游速度或者绕点旋转速度,默认1m/s(1米/秒)或1度/秒 特别提醒(漫游场景范围很大的时候,这个一定要设置大,比如飞机可能就是真实的几千米每秒 如果不按真实设置,会导致内部时间点插值过密,造成卡顿)。
speedupFactor Number 1 optional 加速因子(加速倍数) 默认为1
exHeight Number 2 optional 附加高程
showInfo Boolean false optional 是否显示提示信息
modelUrl Object optional 模型路径 默认为空不显示
model Object optional 动画漫游中的模型对象参数,详见ModelGraphics
complete function 完成回调 完成后的回调函数
interpolationAlgorithm Object LagrangePolynomialApproximation optional 插值算法 默认拉格朗日 还有线性插值 Cesium.LinearApproximation(埃尔米特插值插值)Cesium.HermitePolynomialApproximation
callBack function optional 回调函数,返回当前所在点坐标
isGetPositionNow Boolean false optional 是否获取当前点坐标,默认为false,为true时,需配合返回当前点坐标的回调函数一起使用
isProcessCorner Boolean false optional 是否需要将较大转弯点处理为圆弧
maxAngle Number 150.0 optional 设置判断为转弯点的角度的最大值,不超过150的转角会被执行插值,处理为圆弧
curveStep Number 0.05 optional 转弯处往圆弧曲线上插值点的步长,点个数=1/curveStep
headingTargetPosition Number 0.0 optional 动态可视域目标点绕Z轴旋转,角度制
pitchTargetPosition Number 0.0 optional 动态可视域目标点绕Y轴旋转,角度制
rollTargetPosition Number 0.0 optional 动态可视域目标点绕X轴旋转,角度制
rangeTargetPosition Number 1.0 optional 视点与目标点距离按照倍数增加
isAddScanEffect Boolean false optional 是否挂载动态扫描特效
scanEffect Object optional 扫描特效实例,可以是动态圆,也可以是雷达扫描
isGetRealHeight Boolean optional 是否获取路径点的真实高程
speedArray Array optional 速度不同时,各个路径点的对应速度
timeArray Array optional 路径点与时间相对应
accelerationArray Array optional 加速度数组
option.onPositionTag Boolean false optional 是否执行经过路径点返回回调函数的功能,默认为false不执行
options.onPositionCallback Object optional 当点经过设置的路径点时,返回路径点坐标和index索引号
options.disFactor Number 0.01 optional 用于判断当前点是否在路径点所在位置附近的精度
options.isSetModelPosture Boolean true optional 是否设置模型运动姿态,保持朝向与运动方向一致,默认为true,设置为false时,模型姿态不改变
Author:
  • 韩彦生 & zlf
Example:
//绕点旋转
 var options = {
                    //类型指定为point
                    toolType: 'point',
                    //绕Z轴旋转角度,弧度值,初始化时有效。
                    heading: 0,
                    //绕Y轴旋转,弧度值,可通过纬度值转化,可实时更改。
                    pitch: 0,
                    //持续时间,秒。注意duration属性只有在isLoop为false时生效
                    duration: 20,
                    //旋转速度,度/秒。注意speed属性只有在isLoop为true时生效
                    speed: 10,
                    //是否循环动画,true:一直循环,false:到结束时间就停止动画
                    isLoop: true,
                    //旋转中心点,设置为球心
                    positions: new Cesium.Cartesian3(0, 0, 0),
                    //绕点旋转时,相机定位点的平移距离(沿着相机视角的相反方向)
                    distance: 41000000,
                    //绕点旋转动画完成事件
                    complete: function () {
                        alert('完毕');
                    },
                    //绕点旋转时,每一帧的回调函数,暂停同时暂停返回结果
                    onPositionCallback: function (result) {
                        console.log('heading:' + result.heading + ',pitch:' + result.pitch);
                    },
                }
 // 示例一:绕球心旋转
 options.positions = new Cesium.Cartesian3(0, 0, 0);
 var rotatePointTool = new Cesium.AnimationTool(viewer, options);
 // 示例二:绕某一点旋转
 options.positions = Cesium.Cartesian3.fromDegrees(108.96044700955785, 34.21796237686321, 60.99772929683282);
 var rotatePointTool = new Cesium.AnimationTool(viewer, options);
 // 示例三:持续旋转,不停止
 options.isLoop = true;
 // 请设置速度,否则就是默认值1度/秒
 options.speed = 10;
 var rotatePointTool = new Cesium.AnimationTool(viewer, options);
 //开始
 rotatePointTool.start();
 //暂停
 rotatePointTool.pause();
 //结束
 rotatePointTool.stop();

Members

readonly animationModel : Number

漫游类型

animationType : Number

动画漫游的类型
偏移距离 (单位米)
附加高程
航向角 (单位弧度)

headingTargetPosition : Number

根据Z轴旋转

isAddViewshedAnalysis : Boolean

是否挂载动态可视域

isGetPositionNow : Boolean

是否获取当前点
是否循环

isSetModelPosture : Boolean

是否设置模型运动姿态,保持朝向与运动方向一致

isShowPath : Boolean

是否显示路径
俯仰角 (单位弧度)

pitchTargetPosition : Number

根据Y轴旋转
坐标点
距离 (单位米)

rangeTargetPosition : Number

可视域视点到目标点视距增加倍数

rollTargetPosition : Number

根据X轴旋转

scanEffect : Object

扫描特效实例
是否显示提示信息
漫游速度
用于变速漫游中,设定各个点的速度

speedupFactor : Number

快进(设置倍数)
用于变速漫游中,设定各个点通过的时间数组,时间使用Date()对象

viewshedAnalysis : Object

可视域实例

Methods

start()Boolean

开始
Returns:
True
结束