上个贴子中少了创建临时图层和信息检索,补上~!
-
- class FeaturesSearches
- {
- #region 信息检索
- /// <summary>
- /// 信息检索方法
- /// </summary>
- /// <param name="mapMain">地图</param>
- /// <param name="strMapInfoSearchKey">关键字</param>
- /// <returns></returns>
- public MapXLib.Features search(AxMap mapMain, string strMapInfoSearchKey)
- {
- MapXLib.Features fts;
- try
- {
- MapXLib.Layer lyr;
- MapXLib.Dataset mapxDs;
- MapXLib.Variables vars = new MapXLib.Variables();
- MapXLib.Fields fields = new MapXLib.FieldsClass();
- fields.Add("name", "name", MapXLib.AggregationFunctionConstants.miAggregationSum, MapXLib.FieldTypeConstants.miTypeString);
- lyr = mapMain.Layers["微字查询表"];
- mapxDs = mapMain.DataSets.Add(MapXLib.DatasetTypeConstants.miDataSetLayer, lyr, lyr.Name, 0, 0, 0, fields, false);
- fts = lyr.Search("name like /"%" +strMapInfoSearchKey + "%/"", vars);
- mapMain.DataSets.RemoveAll();
- return fts;
- }
- catch
- {
- return null;
- }
- }
- #endregion
- }
- class CreateNewLayer
- {
- #region 创建自定义图层
- /// <summary>
- /// 创建图层
- /// </summary>
- /// <param name="axMap">要创建图层的地图</param>
- /// <param name="layerName">图层的名称</param>
- /// <param name="layerPath">图层存放地址</param>
- public void create(AxMap axMap, string layerName, string layerPath)
- {
- try
- {
- LayerInfo layerInfo = new LayerInfoClass();
- Fields param = new FieldsClass();
- param.AddStringField("name", 13, null);
- layerInfo.Type = LayerInfoTypeConstants.miLayerInfoTypeTemp;
- layerInfo.AddParameter("FileSpec", layerPath);
- layerInfo.AddParameter("Name", layerName);
- layerInfo.AddParameter("Fields", param);
- layerInfo.AddParameter("OverwriteFile", "1");
- axMap.Layers.Add(layerInfo, null);
- axMap.Layers.AnimationLayer = axMap.Layers[layerName];
- }
- catch (Exception ex)
- {
- throw (new Exception(ex.Message));
- }
- }
- #endregion
- }