|
阅读:1996回复:1
mapx轨迹回放中,点与点之间如何连直线?
<P>mapx+vb6,实现了轨迹回放,但是都是些点点,如何将这些隔离的点,用线联接起来,使之更美观?</P>
|
|
|
1楼#
发布于:2006-11-28 14:12
<P>if(pff.DialogResult == DialogResult.OK)<BR> {<BR> MapXLib.Feature[] ftr = new FeatureClass[2];<BR> <BR> int i = 0;<BR> while(pff.Dr.Read())<BR> {<BR> <BR> i++;<BR> BaseContrail.DateTimedatetime = (DateTime)pff.Dr.GetDateTime(1); <BR> double lon = (double)pff.Dr.GetDouble(2);<BR> double lat = (double)pff.Dr.GetDouble(3);<BR> //第2个存储 现在的信息<BR> ftr[0] = Utility.CMapX.DrawXL(ref lon,ref lat,this.mainMap);<BR> if(i == 1)<BR> {<BR> ftr[1] = ftr[0];<BR> }<BR> else if(i > 1)<BR> {<BR> MapXLib.Point pt;<BR> <BR> MapXLib.PointsClass pts;<BR> <BR> MapXLib.Feature ft;<BR> MapXLib.RowValuesClass rvs = new RowValuesClass();<BR> MapXLib.Style s=new StyleClass();<BR> <BR> s.SymbolType = MapXLib.SymbolTypeConstants.miSymbolTypeVector;</P>
<P> //直线<BR> if(ftr[0].CenterX == ftr[1].CenterX ;; ftr[0].CenterY == ftr[1].CenterY)<BR> continue;<BR> pt = new MapXLib.Point();<BR> pts=new MapXLib.PointsClass();<BR> pt.Set (ftr[1].CenterX,ftr[1].CenterY);<BR> pts.Add (pt,1); <BR> pt.Set(ftr[0].CenterX,ftr[0].CenterY);<BR> pts.Add (pt,2);<BR> ft = mainMap.FeatureFactory.CreateLine(pts, s);<BR> MapxTool.ftrTy(ft);<BR> mainMap.Layers._Item("Orien").AddFeature(ft,rvs);<BR> <BR> ftr[1] = ftr[0];<BR> }<BR> }<BR> pff.Dr.Close();</P> <P> }</P> |
|