相机飞跃
实现效果

核心代码
var pathList=[
{position:{x: -131279.3460857446, y: -17146.7863121363, z: 1971118.9049361013},target:{x: -148536.95936889085, y: -15374.214591128, z: 1969623.2141927867}, up:{x:0,y:0,z:1}},
{position:{x: -157784.2527616385, y: -21825.938751643742, z: 1973264.9549361025},target:{x: -175041.86604478475, y: -20053.36703063544, z: 1971769.264192788}, up:{x:0,y:0,z:1}},
{position:{x: -197857.2963404088, y: -28513.680236943062, z: 1975623.504936103},target:{x: -215114.90962355505, y: -26741.10851593476, z: 1974127.8141927884}, up:{x:0,y:0,z:1}},
{position:{x: -278039.82492630015, y: -42405.44177797439, z: 1980362.0049361004},target: {x: -295297.4382094466, y: -40632.87005696609, z: 1978866.3141927859},up:{x:0,y:0,z:1}},
{position:{x: -336388.66089936096, y: -51694.06789752296, z: 1983587.1549361006},target:{x: -353646.2741825074, y: -49921.49617651466, z: 1982091.464192786},up:{x:0,y:0,z:1}},
{position:{x: -424225.08884671214, y: -67044.52721898908, z: 1989180.554936104},target:{x: -441482.7021298586, y: -65271.95549798079, z: 1987684.8641927894},up:{x:0,y:0,z:1}},
{position:{x: -477228.07112263906, y: -76349.04858377851, z: 1991978.654936102},target:{x: -494485.6844057855, y: -74576.47686277021, z: 1990482.9641927874},up:{x:0,y:0,z:1}},
{position:{x: -543599.0536966609, y: -87423.45868143048, z: 1996495.0549361012},target:{x: -560856.6669798071, y: -85650.88696042218, z: 1994999.3641927866},up:{x:0,y:0,z:1}}
];
play();
function play() {
viewer3D.flyTo(pathList[i],function () {
i++;
if (i< pathList.length) {
play();
}
})
}
相关方法
flyTo
从相机当前位置飞跃到指定的相机姿态
| 参数名称 | 说明 | 类型 | 是否必须 | 示例 |
|---|---|---|---|---|
| [cameraInfo] | 相机姿态对象 | 对象 object | 是 | {position:{x:1,y:2,z:3},target:{x:1,y:2,z:3},up:{x:0,y:0,z:1}} |
| [cameraInfo.position] | 相机姿态对象- 相机位置 | 对象 object | 是 | {x:1,y:2,z:3} |
| [cameraInfo.target] | 相机姿态对象-相机焦点 | 对象 object | 是 | {x:1,y:2,z:3} |
| [cameraInfo.up] | 相机姿态对象-相机正方向 | 对象 object | 是 | {x:0,y:0,z:1} |
| callback | 回调函数 | 函数 function | 否 | function(){} |
/**
* 从相机当前位置飞跃到指定的相机姿态
* @method flyTo
* @param {object}[cameraInfo] 相机姿态对象
* @param {object}[cameraInfo.position] - 相机位置
* @param {object}[cameraInfo.target] - 相机焦点
* @param {object}[cameraInfo.up] - 相机正方向
* @param {function} callback - 动画完成之后的回调函数
*/
调用方式:
viewer3D.flyTo({position:{x:1,y:2,z:3},target:{x:1,y:2,z:3},up:{x:0,y:0,z:1}},function(){});