|
阅读:1570回复:3
Mo的Buffer方法,帮忙看一些程序错在那里,为什么不行?
<P> MapObjects2.Polygon buffline;<BR> MapObjects2.Line line;<BR> MapObjects2.Symbol sym1;<BR> MapObjects2.Symbol sym2;<BR> const double Bdist=1;<BR> private void Form1_Load(object sender, System.EventArgs e)<BR> {<BR> sym1=new MapObjects2.SymbolClass();<BR> sym1.SymbolType=MapObjects2.SymbolTypeConstants.moLineSymbol;<BR> sym1.Style=(short)0;<BR> sym1.Color=(uint)MapObjects2.ColorConstants.moRed;<BR> sym2=new MapObjects2.SymbolClass();<BR> sym2.SymbolType=MapObjects2.SymbolTypeConstants.moFillSymbol;<BR> sym2.Style=(short)4;<BR> sym2.Color=(uint)MapObjects2.ColorConstants.moGreen;<BR> }</P>
<P> private void axMap1_AfterTrackingLayerDraw(object sender, AxMapObjects2._DMapEvents_AfterTrackingLayerDrawEvent e)<BR> {<BR> axMap1.DrawShape(line,sym1);<BR> if(buffline==null)<BR> {<BR> MessageBox.Show("fail");<BR> }<BR> else<BR> {<BR> axMap1.DrawShape(buffline,sym2);<BR> }<BR> <BR> }</P> <P> private void axMap1_MouseDownEvent(object sender, AxMapObjects2._DMapEvents_MouseDownEvent e)<BR> {<BR> <BR> line=axMap1.TrackLine();<BR> buffline=(MapObjects2.Polygon)line.Buffer(Bdist,axMap1.FullExtent);<BR> axMap1.TrackingLayer.Refresh(true,axMap1.Extent);<BR> <BR> }</P> <P>每次运行时,在动态层上画线,结果都是显示线段,而且只显示消息框,就是说buffline变量没有指向任何object,为什么,错在哪?</P> |
|
|
1楼#
发布于:2005-06-16 10:06
看不懂,来点vb的还差不多!
|
|
|
2楼#
发布于:2007-06-06 16:57
<P>"每次运行时,在动态层上画线,结果都是显示线段,而且只显示消息框,就是说buffline变量没有指向任何object,为什么,错在哪?"</P>
<P>我也想知道,anybody knows???</P><img src="images/post/smile/dvbbs/em02.gif" /> |
|
|
3楼#
发布于:2007-06-07 16:32
<P>你是否加载地图???</P>
<P>Buffer是在axMap1.FullExtent的区域中形成的,没有地图就没有形成的空间,所以加载地图试试!!!在地图范围内画出Line</P> |
|