c#鹰眼地图的实现(理解消息传递机制)

本文介绍了使用C#实现鹰眼地图的功能,通过OnMapReplaced事件将主图层同步到鹰眼控件axMapControl2,并在主图OnExtentUpdated事件中更新矩形边框参数。同时探讨了点击鹰眼图层如何通过OnMouseDown事件调整主图范围的方法。
摘要由CSDN通过智能技术生成

思路:axMapControl1加载主图时,触发其OnMapReplaced事件,将加载的图层同样加载到鹰眼控件即axMapControl2中,当主图的extent变化例如放大缩小事件,会触发主图的OnExtentUpdated事件,此时设置矩形边框的颜色等参数。另外需要在点击鹰眼图层时(OnMouseDown事件)使得主图范围随之变化。

#region  鹰眼实现代码
   private void axMapControl1_OnMapReplaced_1(object  sender,IMapControlEvents2_OnMapReplacedEvent e)
   //这个函数不会刷新,但是只对地图文档有用,shp无效
   {
            for (int i = axMapControl1.Map.LayerCount - 1; i >= 0; i--)
             // if (axMapControl1.Map.get_Layer(i).Visible==true)
                  axMapControl2.Map.AddLayer(axMapControl1.Map.get_Layer(i));
                  axMapControl2.Extent = axMapControl2.FullExtent;
                  axMapControl2.Refresh();

    }
    //互动
    private void axMapControl2_OnMouseDown(object sender, IMapControlEvents2_OnMouseDownEvent e)
    {           
                IPoint pPoint = new PointClass();
                pPoint.PutCoords(e.mapX, e.mapY);
   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值