首页 / 浏览问题 / 组件GIS / 问题详情
场景缩放到图层
20EXP 2017年04月13日
添加场景后
m_layersControl.Scene.Open(scenceName);
需要等19秒再执行
public void EnsureVisible(
    Layer3D layer3d
)
才有效果,不等就不会缩放。
而使用
Rectangle2D visibleBounds = scene.Bounds;
m_scenecontrol.Scene.EnsureVisible(visibleBounds, 1000);
也需要等1秒执行,如果不等,缩放范围会错误

1个回答

你好,可以用下面的方法试试

Rectangle2D visibleBounds = layer3d.Bounds;//用具体的某个图层试试
m_scenecontrol.Scene.EnsureVisible(visibleBounds, 1000);

还是要等一段时间再飞行的话,麻烦您把打开场景到定位图层全部代码贴上来
5,985EXP 2017年04月13日
m_layersControl.Scene.Open(scenceName);
                Layer3Ds m_layer3Ds = m_scenecontrol.Scene.Layers;
                Layer3D scene = m_layer3Ds[0];
                m_scenecontrol.Scene.EnsureVisible(scene);
                Rectangle2D visibleBounds = scene.Bounds;
                m_scenecontrol.Scene.EnsureVisible(visibleBounds, 1000);

                m_scenecontrol.Scene.Refresh();
m_layersControl.Scene.Open(scenceName);
                Layer3Ds m_layer3Ds = m_scenecontrol.Scene.Layers;
                Layer3D scene = m_layer3Ds[0];
                m_scenecontrol.Scene.EnsureVisible(scene.Bounds);
                m_scenecontrol.Scene.Refresh();

就这么写试一下
...