Skip to content

飞行

飞行路径构建

提示

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()

Released under the MIT License.