ArcEngine创建 鹰眼 功能

ArcEngine创建 鹰眼 功能

ID:37917848

大小:95.00 KB

页数:5页

时间:2019-06-02

ArcEngine创建 鹰眼 功能_第1页
ArcEngine创建 鹰眼 功能_第2页
ArcEngine创建 鹰眼 功能_第3页
ArcEngine创建 鹰眼 功能_第4页
ArcEngine创建 鹰眼 功能_第5页
资源描述:

《ArcEngine创建 鹰眼 功能》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、ArcEngine创建鹰眼功能所谓的鹰眼,就是一个缩略地图,上面有一个矩形框,矩形框区域就是当前显示的地图区域,拖动矩形框可以改变当前地图显示的位置,改变矩形框的大小,可以改变当前地图的显示区域大小,从起到导航的作用。鹰眼是地图浏览中常用的功能之一。关于鹰眼的实现方式,最常用的是用一个MapControl控件显示地图全图,并在上面画一个红色矩形框表示当前地图的显示范围,并实现鹰眼MapControl与主窗体的MapControl互动。本讲最终效果如下所示:图1鹰眼效果1、添加鹰眼控件2、鹰眼的实现(1)载入地图到鹰眼控件当地图载入到主Map控件时,同时也载入到

2、鹰眼控件,在axMapControl1_OnMapReplaced事件响应函数(此函数上一讲中已经添加了)中添加如下代码:privatevoidaxMapControl1_OnMapReplaced(objectsender,IMapControlEvents2_OnMapReplacedEvente){//前面代码省略//当主地图显示控件的地图更换时,鹰眼中的地图也跟随更换this.axMapControl2.Map=newMapClass();//添加主地图控件中的所有图层到鹰眼控件中for(inti=1;i<=this.axMapControl1.Lay

3、erCount;i++){this.axMapControl2.AddLayer(this.axMapControl1.get_Layer(this.axMapControl1.LayerCount-i));}//设置MapControl显示范围至数据的全局范围this.axMapControl2.Extent=this.axMapControl1.FullExtent;//刷新鹰眼控件地图this.axMapControl2.Refresh();}(2)绘制鹰眼矩形框为鹰眼控件MapControl1添加OnExtentUpdated事件,此事件是在主Map控

4、件的显示范围改变时响应,从而相应更新鹰眼控件中的矩形框。其响应函数代码如下:privatevoidaxMapControl1_OnExtentUpdated(objectsender,IMapControlEvents2_OnExtentUpdatedEvente){//得到新范围IEnvelopepEnv=(IEnvelope)e.newEnvelope;IGraphicsContainerpGra=axMapControl2.MapasIGraphicsContainer;IActiveViewpAv=pGraasIActiveView;//在绘制前,清除

5、axMapControl2中的任何图形元素pGra.DeleteAllElements();IRectangleElementpRectangleEle=newRectangleElementClass();IElementpEle=pRectangleEleasIElement;pEle.Geometry=pEnv;//设置鹰眼图中的红线框IRgbColorpColor=newRgbColorClass();pColor.Red=255;pColor.Green=0;pColor.Blue=0;pColor.Transparency=255;//产生一个线符

6、号对象ILineSymbolpOutline=newSimpleLineSymbolClass();pOutline.Width=2;pOutline.Color=pColor;//设置颜色属性pColor=newRgbColorClass();pColor.Red=255;pColor.Green=0;pColor.Blue=0;pColor.Transparency=0;//设置填充符号的属性IFillSymbolpFillSymbol=newSimpleFillSymbolClass();pFillSymbol.Color=pColor;pFillSym

7、bol.Outline=pOutline;IFillShapeElementpFillShapeEle=pEleasIFillShapeElement;pFillShapeEle.Symbol=pFillSymbol;pGra.AddElement((IElement)pFillShapeEle,0);//刷新pAv.PartialRefresh(esriViewDrawPhase.esriViewGraphics,null,null);}(3)鹰眼与主Map控件互动为鹰眼控件MapControl2添加OnMouseDown事件,代码如下:privatevoi

8、daxMapControl2_OnMo

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。