Enjoy yourself,and don't care about others' thinking!
----TiGERTiAN
BlogJava
首页
新随笔
联系
聚合
管理
随笔-348 评论-598 文章-0 trackbacks-0
Mapxtreme 添加和删除图元并且添加一些自定义的属性
/**/
///
<summary>
///
给给定图层添加图元
///
</summary>
///
<param name="layerName"></param>
///
<param name="list"></param>
private
void
DrawFeature(
string
layerName, ArrayList list)
{
DPoint dpoint;
Point point;
BitmapPointStyle vs;
Feature f;
FeatureLayer flayer;
try
{
flayer
=
map.Layers[layerName]
as
FeatureLayer;
if
(flayer
==
null
)
return
;
Table fTable
=
flayer.Table;
foreach
(
object
o
in
list)
{
Trouble t
=
(Trouble) o;
dpoint
=
new
DPoint(t.X, t.Y);
point
=
new
Point(map.GetDisplayCoordSys(), dpoint);
vs
=
new
BitmapPointStyle();
vs.Name
=
@t.BmpName;
vs.PointSize
=
Convert.ToInt16(
24
);
vs.Attributes
=
StyleAttributes.PointAttributes.BaseAll;
vs.SetApplyAll();
f
=
new
Feature(fTable.TableInfo.Columns);
f.Geometry
=
point;
f.Style
=
vs;
f[GlobalHelper.MIFields[
0
]]
=
t.TroubleType;
f[GlobalHelper.MIFields[
1
]]
=
t.Id;
f[GlobalHelper.MIFields[
2
]]
=
t.SpecTypeCode;
flayer.Table.InsertFeature(f);
}
}
catch
(Exception ex)
{
GlobalHelper.ShowError(
"
绘制隐患图元错误,原因:
"
+
ex.Message);
}
}
上半部分都是获得地理信息和图标,到了这边
f = new Feature(fTable.TableInfo.Columns);
f.Geometry = point;
f.Style = vs;
f[GlobalHelper.MIFields[0]] = t.TroubleType;
f[GlobalHelper.MIFields[1]] = t.Id;
f[GlobalHelper.MIFields[2]] = t.SpecTypeCode;
第一句主要是从图层的表中获得列结构,然后给这个feature赋值地理信息和图标,后面三句就是给这个feature添加编号和类型等信息(当然这些属性都是图层表中的结构),这样当点击图元的时候可以根据这些信息进行搜索
当然如果图片不在系统自定义图片目录下,你需要自定义一个图片仓库:
bool value = Session.Current.StyleRepository.BitmapPointStyleRepository.Reload(Constants.AppPath + "Resources");
之后就可以使用
vs = new BitmapPointStyle();
vs.Name = @t.BmpName;
直接载入相关图片了,说明一点,图片需要是4位色深的,如果是更大的色深则图片会无法载入,在地图上会显示一个黑方块。
---------------------------------------------------------
专注移动开发
Android, Windows Mobile, iPhone, J2ME, BlackBerry, Symbian
posted on 2008-02-25 18:52
TiGERTiAN
阅读(2374)
评论(0)
编辑
收藏
所属分类:
DotNet
、
MapXtreme
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
Chat2DB
C++博客
博问
管理
相关文章:
IIS使用asp.net出现404.3错误
C#的BinaryWriter和Java的DataInputStream之间的数据相互转换
(转)Java时间与C#时间互转
GPS经纬度换算成X,Y坐标C#实现
用于GPS换算世界上任意两点间距离C#实现
GPS数据有效性校验c#代码实现
手机流媒体技术简介
[转].NetCF绘制半透明效果
3G开发移动应用开发需要注意的一些东西(Windows Mobile)
不知道算不算VS2005的一个Bug
专注移动开发--Windows Mobile, Android, iPhone, J2ME, BlackBerry, Symbian, Windows Phone
慢慢混,慢慢学
<
2008年2月
>
日
一
二
三
四
五
六
27
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
1
2
3
4
5
6
7
8
常用链接
我的随笔
我的评论
我的参与
最新评论
留言簿
(40)
给我留言
查看公开留言
查看私人留言
随笔分类
(402)
Ajax(4)
Android(58)
BlackBerry(8)
C/C++(3)
Design Patterns(6)
Discuz!NT(1)
DotNet(26)
Feeling(61)
Flex(4)
Grails(2)
Hibernate(1)
iPhone(5)
J2ME(11)
Java(99)
JSF(26)
Linux(18)
MapXtreme(9)
Objective c(1)
Oracle(6)
Other technique(20)
Perl/Python(1)
Roller (10)
Symbian
VB/ASP(7)
WebWork(3)
Windows Mobile(10)
WindowsPhone(2)
随笔档案
(306)
2017年5月 (1)
2016年8月 (1)
2015年11月 (1)
2015年2月 (1)
2015年1月 (1)
2013年12月 (1)
2013年5月 (1)
2013年4月 (1)
2012年9月 (1)
2012年7月 (1)
2012年6月 (1)
2012年5月 (2)
2012年4月 (1)
2012年2月 (2)
2012年1月 (1)
2011年11月 (2)
2011年10月 (1)
2011年9月 (1)
2011年8月 (2)
2011年7月 (3)
2011年6月 (2)
2011年3月 (3)
2011年2月 (4)
2011年1月 (15)
2010年12月 (1)
2010年11月 (2)
2010年10月 (6)
2010年9月 (12)
2010年8月 (3)
2010年7月 (2)
2010年6月 (6)
2010年5月 (14)
2010年4月 (7)
2010年3月 (16)
2010年2月 (10)
2010年1月 (14)
2009年12月 (12)
2009年11月 (5)
2009年10月 (3)
2009年9月 (2)
2009年8月 (3)
2009年6月 (1)
2009年4月 (2)
2009年3月 (2)
2009年1月 (3)
2008年12月 (3)
2008年11月 (20)
2008年10月 (17)
2008年9月 (3)
2008年4月 (1)
2008年3月 (2)
2008年2月 (8)
2008年1月 (1)
2007年11月 (2)
2007年10月 (13)
2007年9月 (3)
2007年7月 (4)
2007年6月 (2)
2007年5月 (12)
2007年4月 (15)
2007年3月 (6)
2007年2月 (2)
2007年1月 (1)
2006年7月 (2)
2006年4月 (1)
2006年1月 (1)
2005年11月 (1)
2005年8月 (1)
2005年7月 (9)
相册
我正在读的书
我的好友们
JavaBy
有心就有翼 有梦就会飞--MC
搜索
积分与排名
积分 - 807876
排名 - 50
最新评论
1. re: Hibernate三种状态的区分,以及save,update,saveOrUpdate,merge等的使用[未登录]
哈哈~
--a
2. re: onInterceptTouchEvent和onTouchEvent调用时序
@米其林的微笑
在你的子view重写ontouchevent方法就行
--kxt
3. re: Android弹出拨号界面和拨打电话实现
这找不到call是怎么回事?现在有别的方法实现这个功能吗?
--firetomato
4. re: Android弹出拨号界面和拨打电话实现
请我dial和call方法有什么区别么?
--jaime
5. re: Android文字跑马灯控件(文本自动滚动控件)
如何让滚动的速度快一点啊??
--学鸟
阅读排行榜
1. onInterceptTouchEvent和onTouchEvent调用时序(38689)
2. Android的Intent和IntentFilter应用说明一例(37696)
3. Hibernate三种状态的区分,以及save,update,saveOrUpdate,merge等的使用(34315)
4. Android中短信拦截解决方案(31073)
5. Android中ContentProvider和ContentResolver使用入门(21419)
评论排行榜
1. 【JSF】Richfaces复选框树(Checkbox tree)的权限分配的解决方案(69)
2. JSF中动态生成HtmlMessage控件出错的解决办法(38)
3. hibernate中at org.hibernate.tuple.AbstractEntityTuplizer.createProxy(AbstractEntityTuplizer.java:372)异常的解决方法(27)
4. 这两天用Flex写了一个多媒体播放器(19)
5. Android文字跑马灯控件(文本自动滚动控件)(17)