如何在ArcGlobe中实现zoomtolayer (How to zoom to layer in globe)

Zooming to a layer in globe

1.To zoom to a layer in globe get a handle to the layer as shown in the following code example. To get a handle to a specific layer, pass in the layer index.

        在globe中聚焦到一个图层,就像以下代码实例所显示的那样得到该图层的句柄。通过传递图层的索引来得到一个具体图层的句柄。


[C#]
ESRI.ArcGIS.Analyst3D.IScene scene  =  (ESRI.ArcGIS.Analyst3D.IScene)globe;  //  Explicit cast.
ESRI.ArcGIS.Carto.ILayer layer  =  scene.get_Layer(layerIndex);

     当然,ILayer不一定要通过图层的索引来获得,也可以通过图层名称等来获取。

2.Now, get the extent of the layer using the following code example:

  现在,使用下列代码实例来获得图层的范围。
[C#]

ESRI.ArcGIS.Geometry.IEnvelope envelope  =  layer.AreaOfInterest.Envelope;

3.After getting the extent, the IGlobeCamera.SetToZoomToExtents method can be used to zoom to the extent of the layer. See the following code example:

   在得到图层的范围之后,IGlobeCamera.SetToZoomToExtents的方法可以用来聚焦到该图层的范围。看下列代码实例。
[C#] 
ESRI.ArcGIS.Analyst3D.ICamera camera  =  globeDisplay.ActiveViewer.Camera;
ESRI.ArcGIS.GlobeCore.IGlobeCamera globeCamera 
=  (ESRI.ArcGIS.GlobeCore.IGlobeCamera)camera;  //  Explicit cast.
ESRI.ArcGIS.Analyst3D.ISceneViewer sceneViewer  =  globeDisplay.ActiveViewer;
globeCamera.SetToZoomToExtents(envelope, globe, sceneViewer); 

  以上代码都经过测试完全可用(废话,易水的帮助还有错吗...)~嘿嘿~
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值