delphi 中的Mapx 開發

2021-03-31 21:22:42 字數 2016 閱讀 5459

一、安裝好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某些地方有些...