|
阅读:945回复:1
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>运行之后在动态层上面画线,只显示直线,没有产生一个缓冲区域!为什么?</P> |
|
|
1楼#
发布于:2005-06-13 14:28
buffline=(MapObjects2.Polygon)line.Buffer(Bdist,axMap1.FullExtent);<BR>buffline是个polygon吗?Bdist是多少?
|
|
|