一、SceneControl中缩放到图层可以使用ICamera.SetDefaultsMBB()方法,参考下面代码:
文档帮助:
1.获取图层的句柄,如以下代码示例所示。 要获取特定图层的句柄,请传入图层索引。
-
使用以下代码示例获取图层的范围:
-
使用IGlobeCamera.SetToZoomToExtents方法缩放到图层的范围。
请参阅以下代码示例:
实际程序改动:
private void 缩放到图层ToolStripMenuItem_Click(object sender, EventArgs e)
{
ESRI.ArcGIS.Analyst3D.IScene scene = (ESRI.ArcGIS.Analyst3D.IScene)axGlobeControl1.Globe;
ESRI.ArcGIS.Carto.ILayer layer = scene.get_Layer(0);
ESRI.ArcGIS.Geometry.IEnvelope envelope = layer.AreaOfInterest.Envelope;
ESRI.ArcGIS.Analyst3D.ICamera camera = axGlobeControl1.GlobeDisplay.ActiveViewer.Camera;
ESRI.ArcGIS.GlobeCore.IGlobeCamera globeCamera = (ESRI.ArcGIS.GlobeCore.IGlobeCamera)
camera; // Explicit cast.
ESRI.ArcGIS.Analyst3D.ISceneViewer sceneViewer = axGlobeControl1.GlobeDisplay.ActiveViewer;
globeCamera.SetToZoomToExtents(envelope, axGlobeControl1.Globe, sceneViewer);
}`