应用MapXtreme2004开发GIS代码(C#) 搜索TAB表中的元素
注:本贴跟上一个帖子“MapXtreme2004代码 读取TAB表中的元素”有直接关联,请先看那篇BLOG。http://blog.youkuaiyun.com/arui319/archive/2005/02/26/302859.aspx
private void FindYuansu()
{
Find find = null;
try
{
MapInfo.Mapping.Map map = null;
//获取地图
if (MapInfo.Engine.Session.Current.MapFactory.Count == 0 ||
(map = MapInfo.Engine.Session.Current.MapFactory[0]) == null)
{
return;
}
//开始搜索
MapInfo.Mapping.FeatureLayer findLayer = (MapInfo.Mapping.FeatureLayer) map.Layers[_findLayerName];
find = new Find(findLayer.Table, findLayer.Table.TableInfo.Columns[_findColumnName]);
FindResult result = find.Search(DropDownList1.SelectedItem.Text);
if (result.ExactMatch)
{
//重新设置地图
map.Center = new DPoint(result.FoundPoint.X, result.FoundPoint.Y);
MapInfo.Geometry.Distance d = new MapInfo.Geometry.Distance(30, map.Zoom.Unit);
map.Zoom = d;
}
else
{
Response.Write("没有搜索到!");
}
find.Dispose();
}
catch (Exception)
{
if (find != null) find.Dispose();
}
}