zoukankan      html  css  js  c++  java
  • arcEngine经典代码添加气泡提示框(标注,文本,)

    arcEngine经典代码-添加气泡提示框(标注,文本,)

    分类: ArcGIS 1549人阅读 评论(4) 收藏 举报

      private void axMapControl1_OnMouseDown(object sender, IMapControlEvents2_OnMouseDownEvent e)
            {
            
                if (i >= 3)//测试目的
                    return;
                i++;

                ITextElement te = createTextElement(e.mapX,e.mapY,"魁x");
                axMapControl1.ActiveView.GraphicsContainer.AddElement(te as IElement, 1);
                axMapControl1.Refresh(esriViewDrawPhase.esriViewGraphics, null, null);

         
            }
            int i;

            public IBalloonCallout createBalloonCallout(double x, double y)
            {
                IRgbColor rgb = new RgbColorClass();
                {
                    rgb.Red = 255;
                    rgb.Green = 255;
                    rgb.Blue = 200;

                }
                ISimpleFillSymbol sfs = new SimpleFillSymbolClass();
                {
                    sfs.Color = rgb;
                    sfs.Style = esriSimpleFillStyle.esriSFSSolid;
                }

                IPoint p = new PointClass();
                {
                    p.PutCoords(x, y);
                }

                IBalloonCallout bc = new BalloonCalloutClass();
                {
                    bc.Style = esriBalloonCalloutStyle.esriBCSRoundedRectangle;
                    //
                    bc.Symbol = sfs;
                    //
                    bc.LeaderTolerance = 10;
                    //1

                    bc.AnchorPoint = p;
                }

                return bc;
            }

            public ITextElement createTextElement(double x, double y, string text)
            {
                IBalloonCallout bc = createBalloonCallout(x, y);
                
                IRgbColor rgb = new RgbColorClass();
                {
                    //rgb.Red = 255;
                    rgb.Green = 255;
                }
                ITextSymbol ts = new TextSymbolClass();
                {
                    ts.Color = rgb;
                }

                IFormattedTextSymbol fts = ts as IFormattedTextSymbol;
                {
                    fts.Background = bc as ITextBackground;
                }
                //fts.Size = 8;
                ts.Size = 8;

                IPoint point = new PointClass();
                {
                    double width = axMapControl1.Extent.Width / 13;
                    double height = axMapControl1.Extent.Height / 20;
                    point.PutCoords(x + width, y + height);
                }

                ITextElement te = new TextElementClass();
                //IMarkerElement me = new MarkerElementClass();
                {
                    te.Symbol = ts;
                    //ts.Text = text;
                    te.Text = text;
                }

                IElement e = te as IElement;
                {
                    e.Geometry = point;
                }
                return te;

            }
        }

    posted @ 2008-08-11 18:56 风过 无痕

  • 相关阅读:
    安卓模拟器BlueStacks 安装使用教程(图解)
    照相机滤镜使用,优化解码和滤镜导致的预览卡屏现象
    移动语音引擎相关开发笔记
    Linux下查看硬件信息的方法
    linux下彻底卸载mysql 图解教程
    linux下yum安装及配置
    mybatis中的resultMap
    项目管理模式之如何去除SVN标记
    myeclipse中的classpath
    Spring的AOP配置
  • 原文地址:https://www.cnblogs.com/xianyin05/p/3101051.html
Copyright © 2011-2022 走看看