mapxtreme 2004 改变feature颜色

1.C# code:
复制内容到剪贴板
代码:

MapInfo.Data.Table table = MapInfo.Engine.Session.Current.Catalog.OpenTable(@"C:\Program Files\MapInfo\MapXtreme2004\Maps\North America\usa.tab";
this.mapControl1.Map.Load(new MapTableLoader(table));

MapInfo.Data.SearchInfo si = MapInfo.Data.SearchInfoFactory.SearchAll ();
MapInfo.Data.IResultSetFeatureCollection irfc = MapInfo.Engine.Session.Current.Catalog.Search(table.Alias,si);
MapInfo.Data.Feature ftr = irfc[0];

MapInfo.Styles.SimpleInterior sis = new MapInfo.Styles.SimpleInterior(9,System.Drawing.Color.Purple );
MapInfo.Styles.LineWidth lw = new MapInfo.Styles.LineWidth(3,MapInfo.Styles.LineWidthUnit.Point );
MapInfo.Styles.SimpleLineStyle sl = new MapInfo.Styles.SimpleLineStyle (lw,3);
MapInfo.Styles.AreaStyle ar = new MapInfo.Styles.AreaStyle (sl,sis);

MapInfo.Styles.CompositeStyle cs = new MapInfo.Styles.CompositeStyle(ar);
ftr.Style = cs;

MapInfo.Data.MIConnection connection = new MapInfo.Data.MIConnection();
connection.Open();

MapInfo.Data.MICommand command = connection.CreateCommand();
command.CommandText = "update " + ftr.Table.Alias + " set obj = @obj,MI_Style=@style where MI_Key = @MIKEY";
command.Parameters.Add("@obj", ftr.Geometry );
command.Parameters.Add("@MIKEY", ftr.Key);
command.Parameters.Add("@style",cs);
command.ExecuteNonQuery();

command.Dispose();
connection.Close();
connection.Dispose();
2.VB.NET code:
复制内容到剪贴板
代码:

Dim table As MapInfo.Data.Table = MapInfo.Engine.Session.Current.Catalog.OpenTable("C:\Program Files\MapInfo\MapXtreme2004\Maps\North America\usa.tab"
Me.MapControl1.Map.Load(New MapTableLoader(table))

Dim si As MapInfo.Data.SearchInfo = MapInfo.Data.SearchInfoFactory.SearchAll()
Dim irfc As MapInfo.Data.IResultSetFeatureCollection = MapInfo.Engine.Session.Current.Catalog.Search(table.Alias, si)
Dim ftr As MapInfo.Data.Feature = CType(irfc, MapInfo.Data.IDynamicFeatureCollection)(1)

Dim sis As New MapInfo.Styles.SimpleInterior(9, System.Drawing.Color.Purple)
Dim lw As New MapInfo.Styles.LineWidth(3, MapInfo.Styles.LineWidthUnit.Point)
Dim sl As New MapInfo.Styles.SimpleLineStyle(lw, 3)
Dim ar As New MapInfo.Styles.AreaStyle(sl, sis)

Dim cs As New MapInfo.Styles.CompositeStyle(ar)
ftr.Style = cs

Dim connection As New MapInfo.Data.MIConnection
connection.Open()

Dim command As MapInfo.Data.MICommand = connection.CreateCommand()
command.CommandText = "update " + ftr.Table.Alias + " set obj = @obj,MI_Style=@style where MI_Key = @MIKEY"
command.Parameters.Add("@obj", ftr.Geometry)
command.Parameters.Add("@MIKEY", ftr.Key)
command.Parameters.Add("@style", cs)
command.ExecuteNonQuery()

command.Dispose()
connection.Close()
connection.Dispose()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值