首页 / 浏览问题 / 组件GIS / 问题详情
平面场景飞行问题
23EXP 2018年08月03日

在平面场景,道路分析后得到一条路径,沿着路径飞行,窗口显示如上图显示,飞行过程无法显示三维场景,但是在飞行到达目的地后就会出现目的地处的场景。就是说飞行的过程中无法显示沿路的场景。但是通沿着.fpf文件中的路径飞行时,可以显示飞行场景。

开始飞行的代码如下:

        /// 开始飞行
        public void BeginFly(Double speed, Boolean isCircle)
        {
                CurrentFlyManager.Routes.Clear();
                Route route = new Route();
                route.FromGeoLine3D(m_line3D);
                route.IsAltitudeFixed = false;
                route.IsFlyAlongTheRoute = true;
                route.IsHeadingFixed = false;
                route.IsTiltFixed = false;
                route.IsStopsVisible = false;
                route.IsFlyingLoop = isCircle;
                route.Speed = speed;
                for (int i = 0; i < route.Stops.Count; i++)
                {
                    Camera camera = route.Stops[i].Camera;
                    camera.Altitude = 10;
                    camera.Tilt = 90;
                    camera.Heading = 90;
                    route.Stops[i].Camera = camera;
                    route.Stops[i].TurnTime = 0.2;
                }

                CurrentFlyManager.Routes.Add(route);
                CurrentFlyManager.Scene = m_sceneControl.Scene;
                //Camera sceneCamera = new Camera(432480.98, 3895804.64, 300);
                //sceneCamera.Altitude = 10;
                //sceneCamera.Tilt = 90;
                //m_line3D = new GeoLine3D();
                //m_sceneControl.Scene.Camera = sceneCamera;
                CurrentFlyManager.StopArrived -= new StopArrivedEventHandler(CurrentFlyManager_StopArrived);
                CurrentFlyManager.StopArrived += new StopArrivedEventHandler(CurrentFlyManager_StopArrived);
                CurrentFlyManager.Play();
                m_sceneControl.Scene.Refresh();
        }

请问这是什么问题呢。

2 个回答

您好!平面场景我还没做过,我这边测试一下再回复您。
3,362EXP 2018年08月06日
您好!请您打开桌面软件将您的模型导入平面场景,看右下角的相机高度的值,找到恰当的相机高度。建议您代码里锁定方位角和俯仰角,并把for循环及其里面的内容直接去掉试试。
3,362EXP 2018年08月06日
...