//主地图的地图(map)对象
IMap map = null;
IActiveView activeView = null; //IGraphicsContainer用于操作临时元素,可以通过map获取
IGraphicsContainer gc = map as IGraphicsContainer; //删除所有临时元素
gc.DeleteAllElements();
activeView.Refresh(); //画点的临时元素~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ IPoint point = new PointClass();
point.PutCoords(, ); //首先定义点元素的样式
//ISimpleMarkerSymbol意思是ISimple(简单的)Marker(点)Symbol(样式),MarkerSymbol处理simple的还有其他很多种,具体看IMarkerSymbol的实现类
ISimpleMarkerSymbol simpleMarkerSymbol = new SimpleMarkerSymbolClass();
//点颜色
simpleMarkerSymbol.Color = SymbolHelper.CreateColorByRgb(, , );
//点大小
simpleMarkerSymbol.Size = ;
//IMarkerElement代表点元素, new MarkerElementClass()是实例化点元素
IMarkerElement markerElement = new MarkerElementClass();
//设置点样式
markerElement.Symbol = simpleMarkerSymbol; //IElement是所有元素(element)的顶层接口
IElement element = markerElement as IElement;
//设置元素几何对象,因为是画点所以赋值一个点
//通过观察之后的添加线和面元素可发现,几何对象赋值都在IElement接口,而样式(symbol)赋值都在各种类型元素的接口
element.Geometry = point; //添加元素到地图,最后刷新,完成添加
gc.AddElement(element, );
activeView.Refresh(); //画线的临时元素~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ //线的生成不是重点,这里就随便了
IPolyline polyline = null; //定义线样式
//ISimpleLineSymbol意思是ISimple(简单的)Line(线)Symbol(样式)
ISimpleLineSymbol simpleLineSymbol = new SimpleLineSymbolClass();
//颜色
simpleLineSymbol.Color = SymbolHelper.CreateColorByRgb(, , );
//线宽
simpleLineSymbol.Width = ;
//ILineElement代表线元素, new LineElementClass()是实例化线元素
ILineElement lineElement = new LineElementClass();
//赋值线样式
lineElement.Symbol = simpleLineSymbol;
//IElement是所有元素(element)的顶层接口
element = lineElement as IElement;
//设置元素几何对象,因为是画线所以赋值一个线
element.Geometry = polyline; //添加元素到地图,最后刷新,完成添加
gc.AddElement(element, );
activeView.Refresh(); //画面暂时略 //以上是画临时元素的详细代码解析,在实际使用中,一般可以使用封装好的方法一行代码解决 //画点
DrawElementHelper.DrawPoint(map, point, , , , ); //画线
DrawElementHelper.DrawLine(map, polyline, , , , ); //以上方法没有刷新,需另外调用刷新
//PS:因此如果同时画多个元素,每次画都刷新会很卡
activeView.Refresh();

Arcgis Engine(ae)接口详解(8):临时元素(element)的更多相关文章

  1. JDBC常用接口详解

    JDBC中常用接口详解 ***DriverManager 第一.注册驱动 第一种方式:DriverManager.registerDriver(new com.mysql.jdbc.Driver()) ...

  2. Java6.0中Comparable接口与Comparator接口详解

    Java6.0中Comparable接口与Comparator接口详解 说到现在,读者应该对Comparable接口有了大概的了解,但是为什么又要有一个Comparator接口呢?难道Java的开发者 ...

  3. socket接口详解

    1. socket概述 socket是在应用层和传输层之间的一个抽象层,它把TCP/IP层复杂的操作抽象为几个简单的接口供应用层调用已实现进程在网络中通信. socket起源于UNIX,在Unix一切 ...

  4. “全栈2019”Java第八十四章:接口中嵌套接口详解

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  5. “全栈2019”Java第八十三章:内部类与接口详解

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  6. Java接口 详解(二)

    上一篇Java接口 详解(一)讲到了接口的基本概念.接口的使用和接口的实际应用(标准定义).我们接着来讲. 一.接口的应用—工厂设计模式(Factory) 我们先看一个范例: package com. ...

  7. [转载]MII/MDIO接口详解

    原文地址:MII/MDIO接口详解作者:心田麦浪 本文主要分析MII/RMII/SMII,以及GMII/RGMII/SGMII接口的信号定义,及相关知识,同时本文也对RJ-45接口进行了总结,分析了在 ...

  8. map接口详解

    1.Map接口详解(1)映射(map)是一个存储键.键值对的对象,给定一个键,可以查询得到它的值,键和值都可以是对象(2)键必须是唯一的,值可以重复(Map接口映射唯一的键到值)(3)有些映射可以接收 ...

  9. ReadWriteLock 接口详解

    ReadWriteLock 接口详解 这是本人阅读ReadWriteLock接口源码的注释后,写出的一篇知识分享博客 读写锁的成分是什么? 读锁 Lock readLock(); 只要没有写锁,读锁可 ...

随机推荐

  1. webforms字典参数处理

    当webforms参数中的value是一个字典时,加上‘’即可正常传参.

  2. mysql replication常见错误整理

    这篇文章旨在记录MySQL Replication的常见错误,包括自己工作中遇到的与网友在工作中遇到的,方面自己及别人以后进行查找.每个案例都是通过Last_IO_Errno/Last_IO_Erro ...

  3. Android Email check 正则表达式

    Android Email check 正则表达式 (?:[-!#-\\'*+\\x2f-9=?A-Z^-~]+(?:\\.[-!#-\\'*+\\x2f-9=?A-Z^-~]+)*|\"( ...

  4. BZOJ 4815 [Cqoi2017]小Q的表格 ——欧拉函数

    把式子化简一波. 发现一个比较厉害的性质:每个点只能影响到行列下标$gcd$与它相同的点. 然后就可以计算$\sum_{g<=k}f(g,g)*\sum_{i<=k}\sum_{j< ...

  5. BZOJ 2005 [Noi2010]能量采集 ——Dirichlet积

    [题目分析] 卷积一卷. 然后分块去一段一段的求. O(n)即可. [代码] #include <cstdio> #include <cstring> #include < ...

  6. BZOJ 1072 [SCOI2007]排列perm ——状压DP

    [题目分析] 没什么好说的,水题. 代码比较丑,结果需要开long long 时间爆炸 [代码] #include <cstdio> #include <cstring> #i ...

  7. 洛谷P2498 [SDOI2012]拯救小云公主 【二分 + 并查集】

    题目 英雄又即将踏上拯救公主的道路-- 这次的拯救目标是--爱和正义的小云公主. 英雄来到boss的洞穴门口,他一下子就懵了,因为面前不只是一只boss,而是上千只boss.当英雄意识到自己还是等级1 ...

  8. bzoj 5110 Yazid的新生舞会

    题目大意: 一个数列,求有多少个区间$[l,r]$满足该区间的众数出现次数大于$\lceil \frac{r-l}{2} \rceil$ 思路: 对于一个区间满足条件的众数明显是唯一的 所以设该数的前 ...

  9. Perl语言入门--1--perl的包安装

    A.  手工安装 从CPAN下载了DBI模块1.13版的压缩文件DBI-1.13.tar.gz.假设放在/usr/local/src(一般需要编译安装的软件,都放在此目录下安装). # cd /usr ...

  10. MySQL的LOOP, LEAVE 和ITERATE语句(类似Continue、Break的写法)

    和REPEAT和while语句不同,LOOP.LEAVE.ITERATE更像其他编程语言中的goto语句. LOOP要设定一个label指定循环的开始位置,而LEAVE则像其他语言中的Break会离开 ...