当前位置: 代码迷 >> GIS >> c# 地图x 从读取数据在图层中显示的有关问题
  详细解决方案

c# 地图x 从读取数据在图层中显示的有关问题

热度:103   发布时间:2016-05-05 06:24:12.0
c# mapx 从读取数据在图层中显示的问题
在网上结合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;
  相关解决方案