在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("____________________________");
    }

   }
  
  }  
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章