首页 / 浏览问题 / 三维GIS / 问题详情
使用plugin飞行功能的时候出错
30EXP 2018年06月28日
3D模型可以显示,但是飞行功能不能实现,从从 Scene 中获取当前场景飞行管理类对象是undefined。使用的8C系列产品

1个回答

5,985EXP 2018年06月28日
function initCallback() {
            //获取Realspace控件的场景,控件和场景是一对一的捆绑关系
            scene = sceneControl.get_scene();
            console.log(scene);
            //获取FlyManager对象
            scene.open(sceneUrl, "3dScene");
            var layer3D = scene.get_layer3Ds().get_item("building@xxq_1");
            console.log(layer3D);
            if (layer3D != null) {
                //获取图层的地理范围,并飞行到该范围
                var geobound = layer3D.get_bounds();
                scene.get_flyingOperator().flyToBounds(geobound);
            }
        }
        //控件初始化失败后的回调函数
        function failedCallback() {
            alert("Realspace initialized failed!");
        }
        function play() {
            flyManager = scene.get_flyManager();
            console.log(flyManager);//undefined
            // 获取飞行路线集合类对象
            flyRoutes = flyManager.get_routes();
            //导入飞行路线文件
            flyRoutes.fromFile(htmlUrl + "/fileRouteFile/fx01.fpf");
            console.log(htmlUrl + "/fileRouteFile/fx01.fpf");
            //获取飞行路线类对象
            flyRoute = flyRoutes.get_currentRoute();
            console.log(flyRoute);
            // 设置当前飞行路线是否可见
            flyRoute.get_isLinesVisible();
            //开始飞行
            flyManager.play();
        }

这是我的代码,不知道哪里出错了

这个是输出台的信息

如果你连 scene.get_flyManager();都有问题的话,那么输出scene看看,是不是scenecontrol都没示例化成功,我给你的范例没有问题是吧,那么请把你的html文件放在同级目录,引用的资源库路径也一模一样,看看能否正常。

您好,刚刚看了一下,是飞行路线类没有获取到, flyRoutes.fromFile(htmlUrl + "/fileRouteFile/fx01.fpf");这句话返回的结果是false,但是我访问了一下这个地址,是可以访问下载的。你给我那个案例,我打开之后会显示以下代码

您好?可以帮我解答一下昨天的问题吗?昨天也没有出来效果。
你直接写个小demo发我,我看看什么问题,我邮箱hulin@supermap.com
...