分享
 
 
 

MapObject控件的使用之符号绘制

王朝vc·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

MapObject控件的使用之符号绘制

作者 北京 张松伟

zswzwy@163.com

在MO当中,可以在图层上自己画一些特定的符号,以标识特殊的点。比如:各地方的地图,上面标识了一些大厦、地铁、学校等,这些标识我们可以用MO的TrackingLayer来实现。

首先在你的视图类的中加入成员变量:CMoTrackingLayer m_tLayer;

然后,每个地图图层都包函TrackingLayer,你要得到它们,就像这样:

m_tLayer = m_map.GetTrackingLayer();

好了,下面就要开始往地图上加标识点了。MO的点表示方法,我在前面已经提过了,下面你要创建一些点,并转换成地图坐标,并用CmoTrackingLayer类的AddEvent()方法把它们画到MO的地图中。

for(int i=0; i<m_Point.GetSize(); i++)

{

CMoPoint mapPt(m_map.ToMapPoint(m_Point.GetAt(i), m_Point.GetAt(i)));

m_tLayer = m_map.GetTrackingLayer();

m_tLayer.AddEvent(mapPt, 0);

}

好了运行,已经在你的图上显视了很多矩形的点。

有的人可能要问,AddEvent()方法的第二个参数是做什么的呢?好,我正要说这个问题。

在MO中,每个点都有它的样式,我们称为Symbo Style。你可以自己设置它的个数,样式,大小,颜色等。

m_tLayer.SetSymbolCount(3); //设置Symbo的个数为3个。

下面就可以对这3个Symbo进行设置了。

m_tLayer.GetSymbol(0).SetSymbolType(moPointSymbol);

m_tLayer.GetSymbol(0).SetStyle(moCircleMarker);

m_tLayer.GetSymbol(0).SetColor(RGB(255,240,255));

m_tLayer.GetSymbol(0).SetSize(6);

m_tLayer.GetSymbol(1).SetSymbolType(moPointSymbol);

m_tLayer.GetSymbol(1).SetStyle(moSquareMarker);

m_tLayer.GetSymbol(1).SetColor(RGB(255,240,255));

m_tLayer.GetSymbol(1).SetSize(6);

m_tLayer.GetSymbol(2).SetSymbolType(moPointSymbol);

m_tLayer.GetSymbol(2).SetStyle(moTriangleMarker);

m_tLayer.GetSymbol(2).SetColor(RGB(255,240,255));

m_tLayer.GetSymbol(2).SetSize(6);

相关样式我会在后面给出,或查看MO的帮助。刚才我们只是加了很多点,TrackingLayer的功能可不只这些。它可以加一些圆、矩形、多边形等等。这些可以通过设置Symbo的样式表示出来。

Symbo的相关类型:

moFillSymbol、moLineSymbol、moPointSymbol 分别为多边形、线、点。

Symbo的各种样式:

点:

moCircleMarker 0 Circle

moSquareMarker 1 Square

moTriangleMarker 2 Triangle

moCrossMarker 3 Cross

moTrueTypeMarker 4 TrueType

线:

moSolidLine 0 Solid line

moDashLine 1 Dash line

moDotLine 2 Dot line

moDashDotLine 3 Dash Dot line

moDashDotDotLine 4 Dash Dot Dot line

多边形:

moSolidFill 0 Solid

moTransparentFill 1 Transparent

moHorizontalFill 2 Horizontal

moVerticalFill 3 Vertical

moUpwardDiagonalFill 4 Upward Diagonal

moDownwardDiagonalFill 5 Downward Diagonal

moCrossFill 6 Cross

moDiagonalCrossFill 7 Diagonal Cross

moLightGrayFill 8 Light Gray Fill

moGrayFill 9 Gray Fill

moDarkGrayFill 10 DarkGray Fill

此外你还可以自定义Symbo类型。

TrakcingLayer的颜色列表:

moBlack 0x0 Black

moRed 0xFF Red

moGreen 0xFF00 Green

moBlue 0xFF0000 Blue

moMagenta 0xFF00FF Magenta

moCyan 0xFFFF00 Cyan

moWhite 0xFFFFFF White

moLightGray 12632256 LightGray

moDarkGray 4210752 DarkGray

moGray 8421504 Gray

moPaleYellow 13697023 Pale Yellow

moLightYellow 8454143 Light Yellow

moYellow 65535 Yellow

moLimeGreen 12639424 Lime Green

moTeal 8421440 Teal

moDarkGreen 16384 Dark Green

moMaroon 128 Maroon

moPurple 8388736 Purple

moOrange 33023 Orange

moKhaki 7051175 Khaki

moOlive 32896 Olive

moBrown 4210816

Brown

moNavy 8404992 Navy

好了,检验一下你的成果吧。在下一次我将介绍如何用程序新建图层,下次见吧。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有