飞行
飞行路径构建
提示
oSubSceneData 是场景临时提交构件数据,fly 是飞行路径数据,lines 是飞行路径数组
1.添加一条飞行路径
即向场景 JSON,oSubSceneData.fly.lines 数组添加路径
Javascript
oSubSceneData.fly={
// 场景id
"sceneId":"4a8cbec3413417e58f227060e464c7c5",
// 飞行路径数组
"lines":[]
}
//添加一条飞行路径
var line={
"id":"1730757e513417e310674b92267f33ad",//路径id
"title":"飞行路径",//路径名称
/*关键视点数组*/
"points":[]
}
oSubSceneData.fly.lines.push(line)
//向飞行路径中添加当前视点
var oPos=viewer.camera.postion;
var oDir=viewer.camera.direction;
var oUp=viewer.camera.up;
line.points.push({
"id": "846f1897313417e3106751bdd54f5365",
//视点id
"title": "视点",
//视点名称
/*视点视角的基本信息*/
"posx": oPos.x,
"posy": oPos.y,
"posz": oPos.z,
"directionx": oDir.x,
"directiony": oDir.y,
"directionz": oDir.z,
"upx": oUp.x,
"upy": oUp.y,
"upz": oUp.z,
//视点的过渡时间,单位s
"timeInterval": 2,
//视点的缩略图路径,利用base64图片上传接口所得
"viewImg": "temp/scene/4a8cbec3413417e58f227060e464c7c5/image/e5b067e5febe4df7a155f26d3515a0be.jpg"
});
2. 修改、删除某条飞行路径
修改数飞行路径的名称和视点仅修改对应数组的信息,最后随场景保存接口一并提交
3. 获取飞行路径
飞行路径数据获取接口查询场景飞行路径信息,参数 jsonType 为 7
4. 生成视点缩略图,并上传该图片,同时修改对应视点的缩略图路径
同场景封面缩略图生成缩略图
飞行路径的预览
1. 初始化一条飞行路径
JavaScript
var cameraTrackControls = new LSGlobe.LSCameraTrackControls(viewer.scene);
2. 向飞行路径中添加视点信息
JavaScript
//向飞行路径中添加单个视点
//pos,direction,up这些值是保存视点中的相机位置信息
//timeDelta 保存视点中的timeInterval值
cameraTrackControls.getAllKeys().push(
{
destination: new LSGlobe.Cartesian3(posx,posy,posz),
orientation: {
direction: new LSGlobe.Cartesian3(directionx,directiony,directionz),
up: new LSGlobe.Cartesian3(upx,upy,upz)
},
time: timeDelta
});
//添加视点完成该飞行路径初始化完成
3. 飞行路径的操作
JavaScript
//开始飞行路径的飞行或继续飞行路径的飞行
cameraTrackControls.play();
//暂停飞行路径的飞行,从暂停视点开始飞行
cameraTrackControls.pause();
//清除飞行路径并停止飞行路径的飞行
cameraTrackControls.clear();
//停止飞行路径的飞行,再次飞行从第一个视点飞行
cameraTrackControls.stop()