c#中操作Mapx5.02的方法
来源:互联网 发布:淘宝标题采集器 编辑:程序博客网 时间:2024/05/26 13:00
//增加图元,包括数据集、自定义字段、样式、标签
string sPath = Application.StartupPath + "//china//China.gst";
Mapx.GeoSet = sPath;
Mapx.TitleText = "";
Mapx.MapUnit = MapXLib.MapUnitConstants.miUnitKilometer;
MapXLib.Fields fld = new MapXLib.Fields();
fld.AddStringField("Label", 200, false); fld.AddStringField("DamCode", 20, false);
//图层信息
MapXLib.LayerInfo layerInfo = new MapXLib.LayerInfo();
layerInfo.Type = MapXLib.LayerInfoTypeConstants.miLayerInfoTypeTemp;
layerInfo.AddParameter("fileSpec", "My Layer");
layerInfo.AddParameter("Name", "DamLayer" + i);
layerInfo.AddParameter("Fields", fld);
//创建图层
MapXLib.Layer layer = Mapx.Layers.Add(layerInfo,i);
//创建图层数据集
MapXLib.Dataset layerDataSet = Mapx.DataSets.Add(MapXLib.DatasetTypeConstants.miDataSetLayer, layer, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
//对标签属性进行设置
layer.LabelProperties.Dataset = layerDataSet;
layer.LabelProperties.DataField = layerDataSet.Fields["Label"];
layer.LabelProperties.Position = MapXLib.PositionConstants.miPositionCL;
layer.LabelProperties.Offset = 2;
layer.LabelProperties.Overlap = true;
layer.LabelProperties.Style.TextFont.Size = 9;
layer.LabelProperties.Style.TextFont.Name = "楷书_GB2312";
layer.LabelProperties.Style.TextFont.Bold = true;
layer.LabelProperties.Style.TextFontColor = (uint)ColorTranslator.ToOle(Color.Red);
layer.ZoomLayer = true;
layer.ZoomMax = iMax;
layer.ZoomMin = 0;
layer.AutoLabel = true;
//点
MapXLib.Point ptObj = new MapXLib.PointClass();
//点赋值
ptObj.Set(double.Parse(Dboper.sdr["EL"].ToString()), double.Parse(Dboper.sdr["NL"].ToString()));
//字段赋值
MapXLib.RowValues rv = layerDataSet.get_RowValues(0);
rv["Label"].Value = Dboper.sdr["RSNM"].ToString();
rv["DamCode"].Value = Dboper.sdr["RSID"].ToString();
//样式
MapXLib.Style style = new MapXLib.Style();
style.SymbolFont.Name = "MapInfo Oil&Gas";
style.SymbolCharacter = 47;
style.SymbolFontColor = (uint)ColorTranslator.ToOle(Color.Red);
style.SymbolFont.Size = 12;
//图元 MapXLib.Feature f = Mapx.FeatureFactory.CreateSymbol(ptObj, style);
//图元加到图层上
layer.AddFeature(f, rv);
private void Mapx_SelectionChanged(object sender, EventArgs e)
{
pXLib.Features FeaObjs;
pXLib.RowValues rv;
String sDamCode;
int iSerial = 0;
lv_Dam.Items.Clear();
try
{
for (int i = 0; i < iCountPRJSC; i++)
{
FeaObjs = Mapx.Layers["DamLayer" + i].Selection.Clone();
if (FeaObjs != null)
{
if (FeaObjs.Count > 0)
{
for (int j = 1; j <= FeaObjs.Count; j++)
{
rv = Mapx.Layers["DamLayer" + i].DataSets[1].get_RowValues(FeaObjs[j]); sDamCode = rv["DamCode"].Value.ToString();
iSerial++;
AddDamInfo(sDamCode,iSerial);
}
}
}
}
}
catch
{
MessageBox.Show("选择图元时发生错误!","错误",MessageBoxButtons.OK,MessageBoxIcon.Exclamation );
}
}
- c#中操作Mapx5.02的方法
- C#中调用mapx5.0
- c#中调用mapx5.0
- MapX5 操作
- vb+mapx5 沿线标注的实现方法
- vb+mapx5 沿线标注的实现方法
- 如何在c#中使用mapx5.0(二)
- 如何在c#中使用mapx5.0(三)
- Delphi操作Mapx5
- MapX5 操作(续)
- win10下安装Mapx5.0进行MFC开发的方法
- 转载:C#中操作Excel的方法
- C#中操作Excel的方法
- C#中各种异步操作的方法
- C#中直接操作内存的方法
- mapx5.0+C# 绘画矩形、圆、椭圆
- 在VB+Mapx5.0中新建图层及属性的源代码
- 我用到的C#中操作XML的笨方法
- 游戏开发中常用的设计模式
- 开发人员行走Unix的随身四艺
- 分页存储过程-号称最完整
- 转 firefox与IE对javascript和CSS的区别
- 制作AE(ArcGIS Engine 打包)开发的应用程序的安装包
- c#中操作Mapx5.02的方法
- Daily Share(20080422)
- Postfix + Cyrus-IMAP + Cyrus-SASL + MySQL + IMP 完全指南
- C++编码SDK实现的位图按钮类
- 女大学生裹浴巾在食堂打饭
- MP4/MPEG4/3GP转换软件至尊---《MP4/RM转换专家》小记
- 【转】java设计模式之Chain of Responsibility
- linux的一些基本操作
- 为 MySQL 选择更合适的硬件