Teechart圖表應(yīng)用技術(shù)詳解—第五章之TeeChart的地圖顯示原理和代碼設(shè)計(jì)思路
Steema公司和慧都科技針對中國市場聯(lián)合推出中文版TeeChart for .NET圖表控件,一共漢化2000個(gè)詞條(17000個(gè)單詞),漢化文檔35000個(gè)單詞,包括控件設(shè)計(jì)時(shí)與運(yùn)行時(shí)的界面漢化以及控件使用向導(dǎo)文檔的漢化,總漢化90%以上!
TeeChart for .NET中文版讓您在使用和學(xué)習(xí)上沒有任何語言障礙,至少可以節(jié)省30%的開發(fā)時(shí)間。TeeChart for .NET中文版具有易上手,使用方便,穩(wěn)定性好,性價(jià)比高,價(jià)格優(yōu)惠等優(yōu)勢,并且針對Web應(yīng)用提供無限制服務(wù)器分發(fā)授權(quán)方式,非常有利于產(chǎn)品集成。
點(diǎn)擊下載TeeChart for .NET最新試用版
TeeChart的地圖顯示原理
TeeChart提供的序列類型包含了 TMapSeries類用于地圖的顯示和管理。所謂地圖,就是由若干個(gè)不規(guī)則多邊形構(gòu)成的封閉區(qū)域,并以不同的顏色予以區(qū)分和說明文字進(jìn)行標(biāo)注,形成一個(gè)指定區(qū)域的地圖。
根據(jù)地圖的幾何特征和應(yīng)用中的基本需求, TeeChart的TMapSeries序列是由Shapes:TTeePolygonList多邊形列表對象構(gòu)成的(若干個(gè)多邊型),而這個(gè)列表中的每-Shape是一
個(gè)多邊形對象Polygon:TTeePolygon,也就是說地圖上的一個(gè)多邊形區(qū)域可以使用一個(gè)Polygon對象來描述,如下圖所示。另外,利用序列的Maks屬性可以標(biāo)注區(qū)域的屬性如名稱、面積等,這樣,將 TMapseries的Shapes屬性和Maks屬性結(jié)合起來就可以描述一幅地圖的基本特征。
代碼設(shè)計(jì)思路
在TMapSeries對象中,Shapes屬性的Polygon屬性提供了有關(guān)區(qū)城繪制的方法AddXY區(qū)域原色設(shè)定屬性Color和文本標(biāo)注屬性Text,用這三個(gè)屬性和方法就可以繪制出地圖的基本特征。為了程序設(shè)計(jì)方便,可以將繪制和標(biāo)注區(qū)域名稱的任務(wù)編寫為一個(gè)過程供程序設(shè)計(jì)時(shí)調(diào)用,代碼如下:
procedure TForm1.AddShape(X, Y:array of integer; Color:TColor; Labels:String); var i,tmpIndex: integer; begin tmpIndex:=Series1.Shapes.Count; Serie1.Shapes.Add; /先增加一個(gè) Shape,為繪制區(qū)域做準(zhǔn)備 for i:=0 to High(X) do Series1.Shapes.Polygon [tmpIndex].AddXY(X[i],Y[i]);//繪制區(qū)域 Series1.Shapes.Polygon [tmpIndex].Color:=Color;//設(shè)定顏色 Series1.Shapes.Polygon [tmpIndex].Text :=Labels;//設(shè)定標(biāo)簽 Series1.Shapes.Polygon [tmpIndex].Z:=Random;//隨機(jī)產(chǎn)生一個(gè)z值 end;
需要注意的是,每個(gè)多邊形區(qū)域各點(diǎn)的坐標(biāo)分別放在X、Y兩個(gè)不同的數(shù)組里,利用Polygon[ tmplndex].AddXY()繪制多邊形區(qū)域;調(diào)用 Polygon[tmplndex]前這個(gè)Shape必須存在,所以,首次繪制時(shí)需調(diào)用Shapes對象的Add方法增加一個(gè)空的Shape,Shape對象的Count方法是用來計(jì)算目前Shapes對象中含有幾個(gè)Shape的。這樣就可以完成地圖區(qū)域的繪制工作了。
相關(guān)資料推薦:
上一章:使用極值控制實(shí)現(xiàn)實(shí)時(shí)監(jiān)控
=====================================
現(xiàn)TeeChart for .NET,TeeChart for JavaScript/HTML5,TeeChart for Xamarin.Android等均已加入在線訂購,現(xiàn)在搶購可立享優(yōu)惠!
關(guān)注慧聚IT微信公眾號???,了解產(chǎn)品的最新動(dòng)態(tài)及最新資訊。