C#制作Arcgis Engine鹰眼全过程

本文介绍了一种使用两个地图控件实现地图联动的方法:一个作为主地图显示详细信息,另一个作为鹰眼地图显示整个地图概览,并通过编程实现两者之间的互动。具体包括如何同步更新地图文件、绘制鹰眼中的矩形框来指示当前视图位置以及如何通过点击鹰眼地图调整主地图的显示范围。
部署运行你感兴趣的模型镜像

1. axMapControl1是主控件,axMapControl2是鹰眼控件

1.鹰眼地图资源载入 3. private void axMapControl1_OnMapReplaced(object sender, IMapControlEvents2_OnMapReplacedEvent e) 4. { 5. //当主地图显示控件的地图更换时,鹰眼中的地图也跟随更换 6. axMapControl2.LoadMxFile(axMapControl1.DocumentFilename); 7. axMapControl2.Extent = axMapControl2.FullExtent; 8. } 9. 2.绘制鹰眼矩形框 10.private void axMapControl1_OnExtentUpdated(object sender, IMapControlEvents2_OnExtentUpdatedEvent e) 11. { 12. // 得到新范围 13. IEnvelope pEnv = (IEnvelope)e.newEnvelope; 14. IGraphicsContainer pGra = axMapControl2.Map as IGraphicsContainer; 15. IActiveView pAv = pGra as IActiveView; 16. //在绘制前,清除axMapControl2中的任何图形元素 17. pGra.DeleteAllElements(); 18. IRectangleElement pRectangleEle = new RectangleElementClass(); 19. IElement pEle = pRectangleEle as IElement; 20. pEle.Geometry = pEnv; 21. //设置鹰眼图中的红线框 22. IRgbColor pColor = new RgbColorClass(); 23. pColor.Red = 255; 24. pColor.Green = 0; 25. pColor.Blue = 0; 26. pColor.Transparency = 255; 27. //产生一个线符号对象 28. ILineSymbol pOutline = new SimpleLineSymbolClass(); 29. pOutline.Width = 2; 30. pOutline.Color = pColor; 31. //设置颜色属性 32. pColor = new RgbColorClass(); 33. pColor.Red = 255; 34. pColor.Green = 0; 35. pColor.Blue = 0; 36. pColor.Transparency = 0; 37. //设置填充符号的属性 38. IFillSymbol pFillSymbol = new SimpleFillSymbolClass(); 39. pFillSymbol.Color = pColor; 40. pFillSymbol.Outline = pOutline; 41. IFillShapeElement pFillShapeEle = pEle as IFillShapeElement; 42. pFillShapeEle.Symbol = pFillSymbol; 43. pGra.AddElement((IElement)pFillShapeEle, 0); 44. pAv.PartialRefresh(esriViewDrawPhase.esriViewGraphics, null, null); 45. } 46.3. 实现互动 47. private void axMapControl2_OnMouseDown(object sender, IMapControlEvents2_OnMouseDownEvent e) 48. { 49. IPoint pPt=new PointClass (); 50. pPt.PutCoords (e.mapX ,e.mapY ); 51. //改变主控件的视图范围 52. axMapControl1 .CenterAt (pPt ); 53. }

您可能感兴趣的与本文相关的镜像

Langchain-Chatchat

Langchain-Chatchat

AI应用
Langchain

Langchain-Chatchat 是一个基于 ChatGLM 等大语言模型和 Langchain 应用框架实现的开源项目,旨在构建一个可以离线部署的本地知识库问答系统。它通过检索增强生成 (RAG) 的方法,让用户能够以自然语言与本地文件、数据库或搜索引擎进行交互,并支持多种大模型和向量数据库的集成,以及提供 WebUI 和 API 服务

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值