Arcgis Engine(ae)接口详解(8):临时元素(element)
//主地图的地图(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)的更多相关文章
- JDBC常用接口详解
JDBC中常用接口详解 ***DriverManager 第一.注册驱动 第一种方式:DriverManager.registerDriver(new com.mysql.jdbc.Driver()) ...
- Java6.0中Comparable接口与Comparator接口详解
Java6.0中Comparable接口与Comparator接口详解 说到现在,读者应该对Comparable接口有了大概的了解,但是为什么又要有一个Comparator接口呢?难道Java的开发者 ...
- socket接口详解
1. socket概述 socket是在应用层和传输层之间的一个抽象层,它把TCP/IP层复杂的操作抽象为几个简单的接口供应用层调用已实现进程在网络中通信. socket起源于UNIX,在Unix一切 ...
- “全栈2019”Java第八十四章:接口中嵌套接口详解
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- “全栈2019”Java第八十三章:内部类与接口详解
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- Java接口 详解(二)
上一篇Java接口 详解(一)讲到了接口的基本概念.接口的使用和接口的实际应用(标准定义).我们接着来讲. 一.接口的应用—工厂设计模式(Factory) 我们先看一个范例: package com. ...
- [转载]MII/MDIO接口详解
原文地址:MII/MDIO接口详解作者:心田麦浪 本文主要分析MII/RMII/SMII,以及GMII/RGMII/SGMII接口的信号定义,及相关知识,同时本文也对RJ-45接口进行了总结,分析了在 ...
- map接口详解
1.Map接口详解(1)映射(map)是一个存储键.键值对的对象,给定一个键,可以查询得到它的值,键和值都可以是对象(2)键必须是唯一的,值可以重复(Map接口映射唯一的键到值)(3)有些映射可以接收 ...
- ReadWriteLock 接口详解
ReadWriteLock 接口详解 这是本人阅读ReadWriteLock接口源码的注释后,写出的一篇知识分享博客 读写锁的成分是什么? 读锁 Lock readLock(); 只要没有写锁,读锁可 ...
随机推荐
- hdu2043
#include <stdio.h> #include <string.h> char sign[]={'A','B','C','D','E','F','G','H','I', ...
- POJ-2187 Beauty Contest,旋转卡壳求解平面最远点对!
凸包(旋转卡壳) 大概理解了凸包A了两道模板题之后在去吃饭的路上想了想什么叫旋转卡壳呢?回来无聊就搜了一下,结果发现其范围真广. 凸包: 凸包就是给定平面图上的一些点集(二维图包),然后求点集组成的 ...
- 九度oj 题目1151:位操作练习
题目描述: 给出两个不大于65535的非负整数,判断其中一个的16位二进制表示形式,是否能由另一个的16位二进制表示形式经过循环左移若干位而得到. 循环左移和普通左移的区别在于:最左边的那一位经过循环 ...
- 九度oj 题目1090:路径打印
题目描述: 给你一串路径,譬如:a\b\c a\d\e b\cst d\你把这些路径中蕴含的目录结构给画出来,子目录直接列在父目录下面,并比父目录向右缩一格,就像这样:a b c d ...
- 【Android】SharedPreference存储数据
SharedPreference存储数据 使用SharedPreference保存数据 putString(key,value) 使用SharedPreference读取数据 getString( ...
- 【Luogu】P1941飞扬的小鸟(DP)
我发现现在没了题解我做普及提高+的题也做不了 更不要说这些提高+难度的题 此题是一个二维DP.暴力是三重循环ijk,k枚举在i位置上的点击次数.即 for(int i=1;i<=n;++i) ...
- (转)WaitForSingleObject函数的使用
WaitForSingleObject 函数 DWORD WaitForSingleObject( HANDLE hObject, DWORD dwMilliseconds ); 第一个参数hObje ...
- vector 类中的 push_back( ) 函数
函数名 push_back,算法语言里面的一个函数名,如: 1) c++中的vector头文件里面就有这个push_back函数: 2) 在vector类中作用为在vector尾部加入一个数据 ...
- Chrome中输入框默认样式移除
Chrome中输入框默认样式移除 在chrome浏览器中会默认给页面上的输入框如input.textarea等渲染浏览器自带的边框效果 IE8中效果如下: Chrome中效果如下: 这在我们未给输 ...
- shell的case脚本的简单入门
shell的case脚本的简单入门 示例1: #/bin/bash a=$ case "$a" in ") echo 'hell 2';; ") echo 'h ...