zoukankan      html  css  js  c++  java
  • ArcGIS添加鹰眼

    axMapControl1是主地图 axMapControl2是鹰眼地图

     1 private void axMapControl1_OnExtentUpdated(object sender, IMapControlEvents2_OnExtentUpdatedEvent e)
     2         {
     3             //获取地图当前的范围(包络线)
     4             IEnvelope pEnvelope = (IEnvelope)e.newEnvelope;
     5             //将鹰眼地图设置为地理容器,再设置为活动视图
     6             IGraphicsContainer pGraphicsContainer = axMapControl2.Map as IGraphicsContainer;
     7             IActiveView pActiveView = pGraphicsContainer as IActiveView;
     8             //清除鹰眼地图中的任何图形元素
     9             pGraphicsContainer.DeleteAllElements();
    10             //设置矩形范围
    11             IRectangleElement pRectangeEle = new RectangleElementClass();
    12             IElement pElement = pRectangeEle as IElement;
    13             pElement.Geometry = pEnvelope;
    14 
    15             //创建鹰眼图中的红线框
    16             IRgbColor pColor = new RgbColor();
    17             pColor.Red = 255;
    18             pColor.Blue = 0;
    19             pColor.Green = 0;
    20             pColor.Transparency = 255;
    21 
    22             //创建线符号对象
    23             ILineSymbol pOutline = new SimpleLineSymbolClass();
    24             pOutline.Width = 3;
    25             pOutline.Color = pColor;
    26 
    27             //设置颜色属性
    28             pColor = new RgbColorClass();
    29             pColor.Red = 255;
    30             pColor.Blue = 0;
    31             pColor.Green = 0;
    32             pColor.Transparency = 0;
    33 
    34             //设置填充符号
    35             IFillSymbol pFillSymbol = new SimpleFillSymbolClass();
    36             pFillSymbol.Color = pColor;
    37             pFillSymbol.Outline = pOutline;
    38             
    39             IFillShapeElement pFillShapeEle = pElement as IFillShapeElement;
    40             pFillShapeEle.Symbol = pFillSymbol;
    41 
    42             pGraphicsContainer.AddElement((IElement)pFillShapeEle, 0);
    43             pActiveView.PartialRefresh(esriViewDrawPhase.esriViewGraphics, null, null);
    44         }
    45 
    46         private void axMapControl1_OnMapReplaced(object sender, IMapControlEvents2_OnMapReplacedEvent e)
    47         {
    48             if (axMapControl1.LayerCount > 0)
    49             {
    50                 axMapControl2.Map = new MapClass();
    51                 for (int i = 0; i <= axMapControl1.LayerCount - 1; i++)
    52                 {
    53                     axMapControl2.Map.AddLayer(axMapControl1.Map.get_Layer(i));
    54                 }
    55                 axMapControl2.Extent = axMapControl1.Extent;
    56                 axMapControl2.Refresh();
    57             }
    58             //axMapControl2.LoadMxFile(axMapControl1.DocumentFilename);
    59             //axMapControl2.Refresh();
    60             //axMapControl2.Extent = axMapControl2.FullExtent;
    61         }
    62 
    63         private void axMapControl2_OnMouseMove(object sender, IMapControlEvents2_OnMouseMoveEvent e)
    64         {
    65             if (e.button == 1)
    66             {
    67                 IPoint pPoint = new PointClass();
    68                 pPoint.PutCoords(e.mapX, e.mapY);
    69                 axMapControl1.CenterAt(pPoint);
    70                 axMapControl1.ActiveView.PartialRefresh(esriViewDrawPhase.esriViewGeography, null, null);
    71             }
    72         }
    73 
    74         private void axMapControl2_OnMouseDown(object sender, IMapControlEvents2_OnMouseDownEvent e)
    75         {
    76             if (axMapControl2.Map.LayerCount > 0)
    77             {
    78                 if (e.button == 1)
    79                 {
    80                     IPoint pPoint = new PointClass();
    81                     pPoint.PutCoords(e.mapX, e.mapY);
    82                     axMapControl1.CenterAt(pPoint);
    83                     axMapControl1.ActiveView.PartialRefresh(esriViewDrawPhase.esriViewGeography, null, null);
    84                 }
    85                 else
    86                 {
    87                     IEnvelope pEnv = axMapControl2.TrackRectangle();
    88                     axMapControl1.Extent = pEnv;
    89                     axMapControl1.ActiveView.PartialRefresh(esriViewDrawPhase.esriViewGeography, null, null);
    90                 }
    91 
    92             }
    93         }
  • 相关阅读:
    poj1179多边形——区间DP
    poj1742硬币——多重背包可行性
    tyvj1061移动服务——DP
    poj1015陪审团——DP+路径记录
    poj3666序列对应——DP
    poj2279排队——杨氏矩阵与钩子公式(DP爆内存)
    tracert
    4 系统的 CPU 使用率很高,但为啥却找不到高 CPU的应用?
    3 当某个应用的CPU使用达到100%,该怎么办?
    2.2 CPU 上下文切换是什么意思?(下)
  • 原文地址:https://www.cnblogs.com/lc-ant/p/4079532.html
Copyright © 2011-2022 走看看