返回信息流在网上结合http://bbs.cnw.com.cn/thread-185210-1-1.html做的。
我的代码如下:
private void CreatNewLayerfromDB(string layerName, ADODB.Recordset rsNoPass)
{
DeleteLayerByName(layerName); //将原有层删除
CMapXFields flds = new FieldsClass();
// Describe the structure of the Unbound dataset
flds.Add("ID", "ID", AggregationFunctionConstants.miAggregationIndividual,FieldTypeConstants.miTypeNumeric);
flds.Add("layer", "layer", AggregationFunctionConstants.miAggregationIndividual, FieldTypeConstants.miTypeString);
flds.Add("point_x", "point_x", AggregationFunctionConstants.miAggregationSum,FieldTypeConstants.miTypeNumeric); //经度
flds.Add("point_y", "point_y", AggregationFunctionConstants.miAggregationSum,FieldTypeConstants.miTypeNumeric); //纬度
CMapXBindLayer bindLayerObject = new BindLayerClass();
bindLayerObject.LayerName = layerName;
bindLayerObject.RefColumn1 = 3;
bindLayerObject.RefColumn2 = 4;
bindLayerObject.LayerType = BindLayerTypeConstants.miBindLayerTypeXY;
CMapXDataset dataSet = axMap1.DataSets.Add(DatasetTypeConstants.miDataSetADO, rsNoPass, layerName, "ID", "layer", bindLayerObject, flds, false);
//MapXLib.Dataset dataSet = axMap1.DataSets.Add(DatasetTypeConstants.miDataSetADO, rsNoPass, layerName, "ID", System.Reflection.Missing.Value, bindLayerObject, flds, false);
CMapXLayer layer = axMap1.Layers._Item(layerName);
layer.OverrideStyle = true;
string picName = "icon.BMP";
if (layer.Style.SupportsBitmapSymbols == true)
{
layer.Style.SymbolType = SymbolTypeConstants.miSymbolTypeBitmap;
layer.Style.SymbolBitmapSize = 10;
layer.Style.SymbolBitmapTransparent = true;
layer.Style.SymbolBitmapName = picName;
}
}
现在结果显示的只是一个点,疑惑!!
按照对这段代码的理解:CMapXDataset dataSet = axMap1.DataSets.Add(DatasetTypeConstants.miDataSetADO, rsNoPass, layerName, "ID", "layer", bindLayerObject, flds, false);
本该是查询“ID“ “layer” 作为ADODB.Recordset的关键字,显示数据库的所有点
难道理解有问题,还是代码有问题,需要修改
这是一条镜像帖。来源:北邮人论坛 / dot-net / #2746同步于 2011/3/25
该镜像源已超过 30 天没有更新,可能在源站已被删除。
dotNET机器人发帖
菜鸟求问,c# mapx 从数据库中读取数据x ,y坐标在图层显示点
hapzy
2011/3/25镜像同步0 回复
订阅后,新回复会通过你的通知中心匿名送达。
0 条回复
暂无回复 · 你可以订阅本帖等待新回复。