//主地图的地图(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. Python --链接Mongodb

    # -*- coding: UTF-8 -*- from pymongo import MongoClient # 数据库连接 class MongoDB(object): def __init__( ...

  2. iOS视频录制,裁剪(输出指定大小)

    弄了几天,终于搞懂一点了,博客后面再写,先附上demo,等研究清楚再写 demo地址:http://pan.baidu.com/s/1o6w2CMu

  3. C++之字符串表达式求值

    关于字符串表达式求值,应该是程序猿们机试或者面试时候常见问题之一,昨天参加国内某IT的机试,压轴便为此题,今天抽空对其进行了研究. 算术表达式中最常见的表示法形式有 中缀.前缀和 后缀表示法.中缀表示 ...

  4. 【Luogu】P3567Kur-Couriers(主席树)

    题目链接 数组大小开到一千二百万才过- - 可以把数先离散化再全都加到主席树中. 对于一个区间[from,to] 取中间点mid 看看小于mid的数有多少个,如果个数的两倍<=to-from+1 ...

  5. BZOJ 2194 快速傅立叶之二 ——FFT

    [题目分析] 咦,这不是卷积裸题. 敲敲敲,结果样例也没过. 看看看,卧槽i和k怎么反了. 艹艹艹,把B数组取个反. 靠靠靠,怎么全是零. 算算算,最终的取值范围算错了. 交交交,总算是A掉了. [代 ...

  6. [BZOJ3378] [Usaco2004 Open]MooFest 狂欢节(树状数组)

    传送门 开2个树状数组 一个存的是下标,一个存的是数量 细节...看标称吧,懒得说了,好气啊 #include <cstdio> #include <iostream> #in ...

  7. 刷题总结——spoj1812(后缀自动机+DP)

    题目: A string is finite sequence of characters over a non-empty finite set Σ. In this problem, Σ is t ...

  8. cf493E Vasya and Polynomial

    Vasya is studying in the last class of school and soon he will take exams. He decided to study polyn ...

  9. poj 3304 判断是否存在一条直线与所有线段相交

    Segments Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 8579   Accepted: 2608 Descript ...

  10. 了解Chrome扩展程序开发--摘抄

    了解Chrome扩展程序开发 2018-01-11 边城到此莫若 鸡蛋君说前端 首先,我尝试来用简单几句话描述一下Chrome扩展程序: Chrome扩展主要用于对浏览器功能的增强,它强调与浏览器相结 ...