一、安裝好mapx後,選擇delphi的***ponent -> import active 選單新增,mapinfo mapx組
件。新增完成後,在activex面板上,將會出來乙個tmap控制項。
二、拖乙個tmap控制項到工程中改名為mainmap,這樣就產生了乙個tmap的物件。
三、在地圖上建立圖層使用layers屬性的createlayer函式來建立乙個圖層
mainmap.layers.createlayer(name,[filespec],[position],[keylength],[coordsys]);
引數說明:
name: 指定圖層的名稱
filespec: 所建立圖層的路徑名。如'c:/china.tab'
position: 它在圖層列表中的初始位置.(其實就是在圖層列表中的乙個序列號)
coorsys: 指定儲存新圖層的座標系。
四、圖層型別引數:
milayertypenormal
milayertyperaster
milayertypeseamless
milayertypeunknown
milayertypeuserdraw
milayertypedrilldown
五、featurefactory 物件的方法使您可以建立新的地圖圖元,也可通過對現有圖元執行操作(例
如緩衝區)來建立圖元。
以下是 featurefactory 物件的方法:
bufferfeatures
***binefeatures
createarc
createcircularregion
createellipticalregion
createline
createregion
createsymbol
createtext
erasefeature
intersectfeatures
intersectionpoints
intersectiontest
六、在符號圖元中使用自定義位圖
定義乙個cs: cmapxstyle 做為圖元的樣式屬性
設定cs := costyle.create;
cs.symboltype := misymboltypebitmap;
cs.symbolbitmapname := 'hous2-32.bmp';
cs.symbolbitmapsize := 40;
注意: 自定義的點陣圖一定要放到c:/program files/***mon files/mapinfo shared/mapx ***mon/custsymb 下,這是mapinfo安裝的黷認共享路徑。
七、螢幕座標向地圖座標的轉換
procedure tmapform.map1mouseup(sender: tobject;
button: tmousebutton; shift: tshiftstate; x, y: integer);
varlon, lat: double;
singlex, singley: single;
fs: cmapxfeatures;
pnt: cmapxpoint;
name: string;
begin
if map1.currenttool = miarrowtool then
begin
pnt := copoint.create;
singlex := x;
singley := y;
map1.convertcoord(singlex, singley, lon,
lat, miscreentomap);
pnt.set_(lon, lat);
fs := map1.layers.
item('us top 20 cities').searchatpoint(pnt);
備註:獲取乙個圖元時最好用layer.getfeaturebyid(featurekey);
MapX開發總結
一,系統提供工具的使用以及自定義工具的使用。由mapx提供的介面,我們可以直接使用系統提供的放大,縮小,漫遊,指標,選擇功能,區域選擇等功能的節點,其實也就是把這個 m ctrlmapx.setcurrenttool dw 裡面的dw引數設定為系統提供的一些指示常量。如果是自己想實現自定義的功能,就...
DELPHI中DBCHART開發中的幾個小問題
1,在delphi的實際開發中,我們都需要在程式中繫結資料來源,以便更好的適應實際的開發需求,這裡只是簡單的做個介紹 我用的是fastline,裡面需要動態的繫結x,y軸,在dbchart中可以直接設定,那麼在程式中如何設定呢?ssql select scan start time,sum trim...
Delphi開發中Windows API函式的應用
delphi作為快速開發windows95 nt下應用程式的工具,已經為越來越多的開發者採用。但是,如果要開發出專業的windows應用軟體,還需要使用大量的windows api函式,以下是筆者開發管理軟體中的幾個應用例項。一 判定windows版本 眾所周知,windows95 nt某些地方有些...