Name | Type | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
viewer |
Object | 场景视图 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
options |
Object |
附加选项
|
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('完毕');
},
//绕点旋转时,每一帧的回调函数,暂停同时暂停返回结果
callback: 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();
//动画漫游
var options = {
//类型指定为routes
toolType: 'routes',
//航向角(相机视角),绕Z轴旋转,在第一人称视角,上帝视角下支持设置
heading: 0,
//俯仰角(相机视角),绕Y轴旋转。在第一人称视角支持设置
pitch: 0,
//距离:单位是米,在第一人称视角,上帝视角下支持设置
range:100000,
//漫游路径点,初始化可以不设置 但一定要在开始前设置好
positions:[],
// 视角类型 0:一般场景,不操作相机;1:跟随;2:锁定第一视角;3:上帝视角
animationType:1,
//回调函数传回一组动画信息
callback: function (result) {
console.log('动画信息:' + result);
//需要在模型运动到点索引为1,和点索引为5的分段改变姿态
if (result.routePointIndex===1||result.routePointIndex===5 ) {
animation.modelHeading = 45;
animation.modelPitch = 45;
animation.modelRoll = 45;
} else {
//其他分段还原姿态默认值
animation.modelHeading = 0;
animation.modelPitch = 0;
animation.modelRoll = 0;
}
},
//是否设置模型运动姿态,保持朝向与运动方向一致,默认为true,设置为false时,模型姿态不改变
//isSetModelPosture:true,
//是否循环动画,true:一直循环,false:到结束时间就停止动画
isLoop: false,
//加速因子
speedupFactor: 5,
//模型路径 默认为空不显示
modelUrl: '../../SampleData/models/CesiumMan/Cesium_Man.glb',
model: {
//放大比例
scale: 10000,
//固定大小设为0
minimumPixelSize : 0
},
//开始路径漫游跳转点的上一个路径点的索引
startPositionIndex:0,
//距离索引点的距离,单位是meter
offsetStartPositionDistance:0,
//是否需要将较大转弯点处理为圆弧
//isProcessCorner: false,
//设置判断为转弯点的角度的最大值,不超过150的转角会被执行插值,处理为圆弧
//maxAngle: 150.0,
//转弯处往圆弧曲线上插值点的步长,点个数=1/curveStep
//curveStep: 0.01,
complete: function () {
alert('完毕');
}
}
// 示例:路径漫游
options.positions = Cesium.Cartesian3.fromDegreesArray([
117.213063, 31.812956, 117.213162, 31.812389, 117.212929, 31.812056, 117.213275, 31.811582,
117.21348, 31.811513, 117.214141, 31.811682, 117.21497, 31.811691, 117.216318, 31.811454
]);
var animation = new Cesium.AnimationTool(viewer, options);
//开始
animation.start();
//暂停
//animation.pause();
//结束
//animation.stop();
Members
动画模型
动画漫游的类型
回调函数,返回一组动画信息
Example:
callback: function (result) {
console.log('到达站点' + result.index + ',站点坐标:' + result.position);
console.log('当前点状态' + result.currenPositionStatus);
console.log('实时位置' + result.position);
console.log('运动开始时间' + result.startTime);
console.log('当前时间' + result.currentTime);
console.log('剩余运动距离' + result.remainDistance);
console.log('运动总距离' + result.totalDistance);
console.log('运动速度' + result.speed);
}
用于判断当前点是否到达路径点
Deprecated:
在16.7.2版本中移除, 请使用AnimationTool#callback
替代
偏移距离 (单位米)
附加高程
第一人称视角下,相机焦点的偏移值。向前:offsetX;向左:offsetX;向上:offsetZ
布尔类型,默认为false,切换跟随视角下的鼠标点击事件
Deprecated:
在16.7.2版本中移除, 用户需要自定义鼠标控制逻辑,可在应用层参考screenSpaceCameraController
鼠标事件设置
跟随视角下,相机的初始heading,pitch,range
航向角 (单位弧度)
根据Z轴旋转
是否挂载动态可视域
是否获取当前点坐标,默认为false,为true时,需配合返回当前点坐标的回调函数一起使用
Deprecated:
在16.7.2版本中移除, 请使用AnimationTool#callback
替代
是否循环
是否设置模型运动姿态,保持朝向与运动方向一致
是否显示漫游路径,计划废弃,请使用
AnimationTool#showPath
来控制漫游路径的显隐
Deprecated: true
模型的方位角
模型相对自身的平移值,单位为米。向前:offsetX;向左:offsetY;向上:offsetZ
模型的俯仰角
模型的倾斜角
距离startPositionIndex索引点在当前分段线上的距离,单位是meter
是否执行回调函数的功能,默认为false不执行
Deprecated:
在16.7.2版本中移除, 请使用AnimationTool#callback
替代
控制动画的暂停
俯仰角 (单位弧度)
根据Y轴旋转
坐标点
距离 (单位米)
可视域视点到目标点视距增加倍数
根据X轴旋转
扫描特效实例
是否显示提示信息
是否显示漫游路径
漫游速度
用于变速漫游中,设定各个点的速度
快进(设置倍数)
用于记录开始路径漫游跳转点的上一个路径点的索引
用于变速漫游中,设定各个点通过的时间数组,时间使用Date()对象
可视域实例
Methods
开始
Returns:
True
结束