MapX5 操作(续)

来源:互联网 发布:阿里云大会 编辑:程序博客网 时间:2024/06/04 23:18

 上个贴子中少了创建临时图层和信息检索,补上~!

 

 

    1. class FeaturesSearches
    2.     {
    3.         #region 信息检索
    4.         /// <summary>
    5.         /// 信息检索方法
    6.         /// </summary>
    7.         /// <param name="mapMain">地图</param>
    8.         /// <param name="strMapInfoSearchKey">关键字</param>
    9.         /// <returns></returns>
    10.         public MapXLib.Features search(AxMap mapMain, string strMapInfoSearchKey)
    11.         {
    12.             MapXLib.Features fts;
    13.             try
    14.             {
    15.                 MapXLib.Layer lyr;
    16.                 MapXLib.Dataset mapxDs;
    17.                 MapXLib.Variables vars = new MapXLib.Variables();
    18.                 MapXLib.Fields fields = new MapXLib.FieldsClass();
    19.                 fields.Add("name""name", MapXLib.AggregationFunctionConstants.miAggregationSum, MapXLib.FieldTypeConstants.miTypeString);
    20.                 lyr = mapMain.Layers["微字查询表"];
    21.                 mapxDs = mapMain.DataSets.Add(MapXLib.DatasetTypeConstants.miDataSetLayer, lyr, lyr.Name, 0, 0, 0, fields, false);
    22.                 fts = lyr.Search("name like /"%" +strMapInfoSearchKey + "%/"", vars);
    23.                 mapMain.DataSets.RemoveAll();
    24.                 return fts;
    25.             }
    26.             catch
    27.             {
    28.                 return null;
    29.             }
    30.         }
    31.         #endregion
    32.     }
  1. class CreateNewLayer
  2.     {
  3.         #region 创建自定义图层
  4.         /// <summary>
  5.         /// 创建图层
  6.         /// </summary>
  7.         /// <param name="axMap">要创建图层的地图</param>
  8.         /// <param name="layerName">图层的名称</param>
  9.         /// <param name="layerPath">图层存放地址</param>
  10.         public void create(AxMap axMap, string layerName, string layerPath)
  11.         {
  12.             try
  13.             {
  14.                 LayerInfo layerInfo = new LayerInfoClass();
  15.                 Fields param = new FieldsClass();
  16.                 param.AddStringField("name", 13, null);
  17.                 layerInfo.Type = LayerInfoTypeConstants.miLayerInfoTypeTemp;
  18.                 layerInfo.AddParameter("FileSpec", layerPath);
  19.                 layerInfo.AddParameter("Name", layerName);
  20.                 layerInfo.AddParameter("Fields", param);
  21.                 layerInfo.AddParameter("OverwriteFile""1");
  22.                 axMap.Layers.Add(layerInfo, null);
  23.                 axMap.Layers.AnimationLayer = axMap.Layers[layerName];
  24.             }
  25.             catch (Exception ex)
  26.             {
  27.                 throw (new Exception(ex.Message));
  28.             }
  29.         }
  30.         #endregion
  31.     }