MapObject控制元件的使用之符號繪製 (轉)
Map的使用之符號繪製
作者 北京 張松偉
to:zswzwy@163.com">zswzwy@163.com
在MO當中,可以在圖層上自己畫一些特定的符號,以標識特殊的點。比如:各地方的地圖,上面標識了一些大廈、地鐵、學校等,這些標識我們可以用MO的TrackingLayer來實現。:namespace prefix = o ns = "urn:schemas--com::office" />
首先在你的檢視類的中加入成員變數:CMoTrackingLayer m_tLayer;
然後,每個地圖圖層都包函TrackingLayer,你要得到它們,就像這樣:
m_tLayer = m_map.GetTrackingLayer();
好了,下面就要開始往地圖上加標識點了。MO的點表示方法,我在前面已經提過了,下面你要建立一些點,並轉換成地圖座標,並用CmoTrackingLayer類的AddEvent()方法把它們畫到MO的地圖中。
for(int i=0; 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 moCrosill 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
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-998118/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 使用Canvas繪製簡單工程符號(續)Canvas符號
- CAD一秒繪製平方立方符號符號
- 玩轉控制元件:GDI+動態繪製流程圖控制元件流程圖
- 符號(註釋符+轉義符+接續符)符號
- Java中轉義HTML符號的四種方法JavaHTML符號
- Sympy玩轉邏輯符號運算符號
- Mybatis xml特殊符號轉義寫法MyBatisXML符號
- 棧的應用之平衡符號 【資料結構與演算法分析 c 語言描述】符號資料結構演算法
- View的繪製二:View的繪製流程View
- Markdown 繪製 UML 圖 -- PlantUML + Gravizo(轉)
- 使用express設定cookie時,怎麼使字串內特殊符號不被encode?ExpressCookie字串符號
- 新表情符號Emoji 14.0草案名單公佈 握手錶情符號可定製膚色符號
- e新表情符號Emoji 14.0草案名單公佈 握手錶情符號可定製膚色符號
- [C]有符號數和無符號數符號
- package.json 中的版本號,符號 ~ 與 ^ 的區別及其他符號的含義PackageJSON符號
- CSS @ 符號CSS符號
- 連結使用的符號符號
- Html/CSS的符號學HTMLCSS符號
- HTML 中的特殊符號HTML符號
- python的識別符號Python符號
- 自定義控制元件之kotlin繪製折線圖和曲線圖控制元件Kotlin
- iOS應用之間的跳轉解析iOS
- dotNet符號檔案(pdb),符號包(snupkg)和SourceLink符號
- View的繪製三:UI繪製的三大步驟ViewUI
- 符號連結符號
- 流程圖符號流程圖符號
- 找不到符號符號
- 識別符號符號
- python 中 *符號Python符號
- 自定義View之kotlin繪製手勢設定溫度控制元件ViewKotlin控制元件
- 自定義繪製鐘錶控制元件,這一篇就夠了控制元件
- 數學符號的來歷符號
- (2)使用的數學符號符號
- latex 中的存在,任意, ξ 符號符號
- Yaml中特殊符號"| > |+ |-"的作用YAML符號
- Room & Kotlin 符號的處理OOMKotlin符號
- Verilog有符號數、無符號數之間的賦值與運算符號賦值
- JS歷理 特殊符號轉義十進位制編JS符號
- 精密進近復飛轉彎保護區的繪製(三)