问题描述
已知两点怎么连虚线啊mapxtreme??
解决方案
解决方案二:
c
解决方案三:
#在maptreme中,已知两的坐标,其实就是绘制一条线段,设置线段的样式,就可以了.MapInfo.Styles.SimpleLineStylestyle=newSimpleLineStyle(PatternStyle.Cross);
解决方案四:
up
解决方案五:
[code==C#]publicFeatureLayerTmFlyr;publicMapInfo.Data.TableTmTbl;[/code]初始化:privatevoidForm1_Load(objectsender,EventArgse){MapInfo.Data.CatalogCat=MapInfo.Engine.Session.Current.Catalog;//TmTbl=Cat.GetTable("mexico");TableInfoMemTableTmInfo=newTableInfoMemTable("Tm");TmTbl=Cat.GetTable("Tm");if(TmTbl!=null){Cat.CloseTable("Tm");}TmInfo.Columns.Add(ColumnFactory.CreateFeatureGeometryColumn(MCtrl.Map.GetDisplayCoordSys()));TmInfo.Columns.Add(ColumnFactory.CreateStyleColumn());TmInfo.Columns.Add(ColumnFactory.CreateStringColumn("Name",12));TmInfo.Columns.Add(ColumnFactory.CreateStringColumn("Loca",50));TmInfo.Columns.Add(ColumnFactory.CreateIntColumn("Indx"));TmTbl=Cat.CreateTable(TmInfo);//创建临时表TmFlyr=newFeatureLayer(TmTbl);//创建临时图层MCtrl.Map.Layers.Add(TmFlyr);//将临时图层加入当前的MapXTreme图层当中}
下面通过点击一个按钮在地图上绘制一条红色虚线:使用的为墨西哥地图:privatevoidbutton1_Click(objectsender,EventArgse){MapInfo.Geometry.DPoint[]dPt=newDPoint[3];//创建一个点数组dPt[0].x=-101.236401711274;dPt[0].y=22.6474803334433;dPt[1].x=-102.116736770488;dPt[1].y=32.2141510582492;dPt[2].x=-103.916736770488;dPt[2].y=28.2141510582492;MultiCurve_lineFeatureCurve=newMultiCurve(TmFlyr.CoordSys);_lineFeatureCurve=MultiCurve.CreateLine(TmFlyr.CoordSys,dPt[0],dPt[2]);//取两点画线SimpleLineStyle_lineStyle=newSimpleLineStyle();//创建线形_lineStyle.Width=newLineWidth(1.0,LineWidthUnit.Point);//设定线宽为1.0线宽单位为Point,最大值不限(可以设置为Pixel,最大为7.0)_lineStyle.Pattern=5;//线样式55为虚线可以设定其他值改为其他类型有很多种127种左右第77号类似铁轨_lineStyle.Color=Color.Red;//颜色为红色FeatureLftr=newFeature(_lineFeatureCurve,_lineStyle);//创建图元TmTbl.InsertFeature(Lftr);//将图元加入临时表中}
楼主去试一试看可以不我这里的效果是这样的:
解决方案六:
对了我的环境是Vs2008下建立的MapXtremeWindowsApplication工程
解决方案七:
设置样式simplelinestyle