源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

C#制作鹰眼的详细全过程(带注释)实例代码

  • 时间:2020-06-08 03:17 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:C#制作鹰眼的详细全过程(带注释)实例代码
axMapControl1是主控件,axMapControl2是鹰眼控件 要看清楚事件响应   1.鹰眼地图资源载入
[u]复制代码[/u] 代码如下:
privatevoid axMapControl1_OnMapReplaced(object sender, IMapControlEvents2_OnMapReplacedEvent e)         {             //当主地图显示控件的地图更换时,鹰眼中的地图也跟随更换             axMapControl2.LoadMxFile(axMapControl1.DocumentFilename);             axMapControl2.Extent = axMapControl2.FullExtent;         }
2.绘制鹰眼矩形框
[u]复制代码[/u] 代码如下:
private void axMapControl1_OnExtentUpdated(object sender, IMapControlEvents2_OnExtentUpdatedEvent e)         {               // 得到新范围             IEnvelope pEnv = (IEnvelope)e.newEnvelope;               IGraphicsContainer pGra = axMapControl2.Map as IGraphicsContainer;             IActiveView pAv = pGra as IActiveView;             //在绘制前,清除axMapControl2中的任何图形元素             pGra.DeleteAllElements();               IRectangleElement pRectangleEle = new RectangleElementClass();             IElement pEle = pRectangleEle as IElement;             pEle.Geometry = pEnv;               //设置鹰眼图中的红线框             IRgbColor pColor = new RgbColorClass();             pColor.Red = 255;             pColor.Green = 0;             pColor.Blue = 0;             pColor.Transparency = 255;             //产生一个线符号对象             ILineSymbol pOutline = new SimpleLineSymbolClass();             pOutline.Width = 2;             pOutline.Color = pColor;               //设置颜色属性             pColor = new RgbColorClass();             pColor.Red = 255;             pColor.Green = 0;             pColor.Blue = 0;             pColor.Transparency = 0;             //设置填充符号的属性             IFillSymbol pFillSymbol = new SimpleFillSymbolClass();             pFillSymbol.Color = pColor;             pFillSymbol.Outline = pOutline;               IFillShapeElement pFillShapeEle = pEle as IFillShapeElement;             pFillShapeEle.Symbol = pFillSymbol;             pGra.AddElement((IElement)pFillShapeEle, 0);             pAv.PartialRefresh(esriViewDrawPhase.esriViewGraphics, null, null);         }  
3. 实现互动
[u]复制代码[/u] 代码如下:
   private void axMapControl2_OnMouseDown(object sender, IMapControlEvents2_OnMouseDownEvent e)         {             IPoint pPt=new PointClass ();             pPt.PutCoords (e.mapX ,e.mapY );             //改变主控件的视图范围             axMapControl1 .CenterAt (pPt );         }
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部