| 首页 | 新闻 | 网页 | 设计 | 色彩 | 原创 | 视觉 | 素材 | 动漫 | 酷站 | 策划 | 文案 | 访谈 | 运营 | 编程 | 数据库 | 服务器 | 下载 | 图库 | 
您的位置: 幽幽天空 > 网页 > 编程开发 > Visual C++教程 > 文章正文 用户登录
用Google的Gmail收
Poco免费提供个人
1MajorHost免费ph
龙太极/100m/asp/
无限网络提供50M 
苏能科技100M/FTP
Symantec提供免费
谁杀死了站长(We
三步设计:浅谈B2
WAP网站怎么赢利?

MapObject控件的使用之符号绘制           

MapObject控件的使用之符号绘制

作者:佚名 来源:CSDN 作者: zswzwy 更新:2006-8-25 21:05:35 错误报告 我要投稿

MapObject控件的使用之符号绘制

在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

 

好了,检验一下你的成果吧。在下一次我将介绍如何用程序新建图层,下次见吧。
文章录入:skyuu    责任编辑:skyuu 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    发表评论:
    姓名:  评 分: 1分 2分 3分 4分 5分
     
  • 严禁发表危害国家安全、政治、黄色淫秽等内容的评论。
  • 用户需对自己在使用幽幽天空服务过程中的行为承担法律责任。
  • 本站管理员有权保留或删除评论内容。
  • 评论内容只代表机友个人观点,与本网站立场无关。