连虚线 mapxtreme
已知两点 怎么连虚线啊 mapxtreme?? --------------------编程问答-------------------- c# --------------------编程问答-------------------- 在maptreme中,已知两的坐标,其实就是绘制一条线段,设置线段的样式,就可以了.MapInfo.Styles.SimpleLineStyle style = new SimpleLineStyle(PatternStyle.Cross); --------------------编程问答-------------------- up --------------------编程问答-------------------- 相关定义:
[code==C#]public FeatureLayer TmFlyr;
public MapInfo.Data.Table TmTbl;[/code]
初始化:
private void Form1_Load(object sender, EventArgs e)
{
MapInfo.Data.Catalog Cat = MapInfo.Engine.Session.Current.Catalog;
//TmTbl = Cat.GetTable("mexico");
TableInfoMemTable TmInfo = new TableInfoMemTable("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 = new FeatureLayer(TmTbl); //创建临时图层
MCtrl.Map.Layers.Add(TmFlyr); //将临时图层加入当前的MapXTreme图层当中
}
下面通过点击一个按钮在地图上绘制一条红色虚线:使用的为墨西哥地图:
private void button1_Click(object sender, EventArgs e)
{
MapInfo.Geometry.DPoint[] dPt = new DPoint[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 = new MultiCurve( TmFlyr.CoordSys );
_lineFeatureCurve = MultiCurve.CreateLine( TmFlyr.CoordSys, dPt[0], dPt[2]); //取两点画线
SimpleLineStyle _lineStyle = new SimpleLineStyle(); //创建线形
_lineStyle.Width = new LineWidth(1.0, LineWidthUnit.Point); //设定线宽为1.0 线宽单位为Point,最大值不限(可以设置为Pixel,最大为7.0)
_lineStyle.Pattern = 5; //线样式5 5为虚线 可以设定其他值改为其他类型 有很多种 127种左右 第77号类似铁轨
_lineStyle.Color = Color.Red; //颜色为红色
Feature Lftr = new Feature( _lineFeatureCurve, _lineStyle); //创建图元
TmTbl.InsertFeature( Lftr); //将图元加入临时表中
}
楼主去试一试看可以不 我这里的效果是这样的:
--------------------编程问答-------------------- 对了 我的环境是 Vs2008下建立的MapXtremeWindowsApplication工程 --------------------编程问答-------------------- 设置样式simplelinestyle
补充:企业软件 , 地理信息系统