在winfrom中的mapxtreme的地圖控制項上畫圓分為下面幾步:
第一步:新增圓圖層對應的table並新增table對應的圖層到map上,其中新增id欄位到表中,後面刪除此圓需用到
table tablecircletemp ;if (tablecircletemp != null
)
}tableinfo ti11 = tableinfofactory.createtemp("
tempcircle");
ti11.columns.add(columnfactory.createstringcolumn("id
", 20
)); tablecircletemp =session.current.catalog.createtable(ti11);
featurelayer lyr11 = new
featurelayer(tablecircletemp);
mapcontrol.map.layers.insert(
0, lyr11);
第二步:在畫圓的觸發事件中為mapcontrol設定相應的工具:
publicclass
maptoolkit
mainfrm.mapcontrol.tools.leftbuttontool = maptoolkit.drawcircle;
第三步:為mapcontrol新增mousemove mousedown mouseup事件,其中在down事件中捕捉圓心點
privatebool mousedowned = false;
private dpoint startpoint = new
dpoint();
private
void mapcontrol_mousedown(object
sender, mouseeventargs e)
}
在move事件中捕捉圓的半徑點,並畫圓,下面**是實現畫圓時滑鼠移動顯示不同大小圓
privatevoid mapcontrol_mousemove(object
sender, mouseeventargs e)}}
}catch
(exception ex)}//
臨時圖層畫圓
private
void drawcircle(dpoint dpt1, dpoint dpt2,int
id)
catch
(exception ex)
} //
螢幕座標轉換到經緯度
private dpoint getcoordpt(int x, int
y)
dpoint dp = new
dpoint();
dp.x = double.parse(dpt.x.tostring("
0.000000
"));
dp.y = double.parse(dpt.y.tostring("
0.000000
"));
return
dp; }
mouseup說明圓畫好了,重新畫圓即可
privatevoid mapcontrol_mouseup(object
sender, mouseeventargs e)
mousedowned = false
; }
}
在資料庫中對圓的記錄需要包括 當前地圖的縮放係數即:mainfrm.mapcontrol.map.zoom.value * 1.609 / mainfrm.mapcontrol.width ;起始座標點
定位圓:在地圖上顯示圓的時候需要三個引數:strp= 畫圓時比例係數;p1.x,p1.y;p2.x,p2.y,pmix=當前地圖的比例係數,id=當前圓的編號
privatevoid drawcircle(string strp,double pmix,int
id) }}
}catch
(exception ex)
}
刪除圓,引用為:delfenceintable(tablecircletemp, "tempcircle",id);
privatevoid delintable(table table,string tablealias,int
id)
}table.refresh();}}
catch
(exception ex)
}
MapXtremE 中改變feature顏色
1.c code mapinfo.data.table table mapinfo.engine.session.current.catalog.opentable c programfiles mapinfo mapxtreme2004 maps north america usa.tab thi...
怎樣在幾何畫板中調節相交圓
在幾何畫板中我們通過圓工具可以輕易的畫出圓,相交圓也可以很容易的繪製出來,但是這樣畫出的相交圓無法進行調整,那麼我們該如何畫幾何畫板中的相交圓,並且使所畫的相交圓可調節位置跟大小呢?具體操作步驟如下 1.確定圓心。單擊左邊側邊欄 自定義工具 圓工具 兩相交圓公共部分 先單擊一下,在畫布空白處確定乙個...
如何在JAVA中設定同心圓
1 原型 void drawoval int x,int y,int width,int height x 要繪製橢圓的左上角的 x 座標。相當於乙個長方形的左上角 y 要繪製橢圓的左上角的 y 座標。相當於乙個長方形的左上角 width 要繪製橢圓的寬度。height 要繪製橢圓的高度。橢圓覆蓋區...