在MapXtreme2005怎樣查找指定的位置
根據輸入條件進行查詢,並將查詢到的結果高亮顯示,屬性信息顯示出來
private void btnSearch_Click(object sender, System.EventArgs e)
{
if (txtName.Text.Trim() == "")
{
MapInfo.Data.Table table = MapInfo.Engine.Session.Current.Catalog.GetTable("world");
//輸出查詢信息
ListBox1.Items.Clear();
ListBox1.Items.Add("圖層: " + table.Alias.ToString() + "—Country");
foreach (Feature feature in (table as MapInfo.Data.ITableFeatureCollection))
{
//顯示每個選擇圖元的屬性數據
Column column = feature.Columns["Country"];
ListBox1.Items.Add(" " + feature[column.ToString()].ToString());
}
}
else
{
//根據名稱搜索
SearchInfo si = MapInfo.Data.SearchInfoFactory.SearchWhere("Country like '%" + txtName.Text + "%'");
IResultSetFeatureCollection ifs = MapInfo.Engine.Session.Current.Catalog.Search("world",si);
if (ifs.Count <=0)
{
return;
}
//縮放到選擇圖元範圍
MapMain.Map.SetView(ifs.Envelope);
MapMain.Map.Scale = MapMain.Map.Scale * 2;
//高亮顯示
MapInfo.Engine.Session.Current.Selections.DefaultSelection.Clear();
MapInfo.Engine.Session.Current.Selections.DefaultSelection.Add(ifs);
//輸出查詢信息
ListBox1.Items.Clear();
ListBox1.Items.Add("圖層: " + ifs.BaseTable.Alias.ToString());
foreach (Feature feature in ifs)
{
//顯示每個選擇圖元的屬性數據
foreach (Column column in feature.Columns)
{
ListBox1.Items.Add(" " + column.ToString() + " = " + feature[column.ToString()].ToString());
}
ListBox1.Items.Add("____________________________");
}
}
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.