接(三)

这一节主要贴代码算了,通过代码看一下一些简单功能的实现。偶快要放假了,静不下心来写了,写得也不好。说不定贴代码效果更好。

1、获取所有图层

    ESRI.ArcGIS.Server.WebControls.WebMap webmap= Map1.CreateWebMap();
    
try
    {
     ESRI.ArcGIS.Carto.IMapDescription descr 
= webmap.MapDescription;   
     ddlLayers.Items.Clear();
     
int id;
     
for (int i=0;i<= descr.LayerDescriptions.Count-1;i++)
     {
      id 
= descr.LayerDescriptions.get_Element(i).ID;
      ddlLayers.Items.Add(id.ToString() 
+ "," + webmap.LayerNameFromID(id));    //ddlLayers是一个DropDownList控件
     }
     
if (ddlLayers.Items.Count>0)
     {
      ddlLayers.SelectedIndex
=0;
     } 
             
    }
    
finally
    {
     webmap.Dispose();
    }


2、通过图层的ID获取图层对象

    private IFeatureLayer GetFeatureLayer(int lyid)
  {
   WebMap webmap 
= Map1.CreateWebMap();
   
try
   {
    ILayer layer 
= (webmap.MapServer as IMapServerObjects).get_Layer(webmap.DataFrame,lyid);
    
if (layer==null)
     
return null;
    
else
    {
     
return (layer as IFeatureLayer);
    }
   }
   
finally
   {
    webmap.Dispose();
   }
      
  }


3、新建一个多边形

ArcGis Server开发Web GIS新手体验(四)  private void Map1_Polygon(object sender, ESRI.ArcGIS.Server.WebControls.PolygonEventArgs args)


4、矩形选择,获得选择集,并在地图上显示选中的对象。(这个功能花费了偶一天多的时间。)

ArcGis Server开发Web GIS新手体验(四)  private void Map1_DragRectangle(object sender, ESRI.ArcGIS.Server.WebControls.ToolEventArgs args)


5、删除选中的对象

ArcGis Server开发Web GIS新手体验(四)  private void DeleteSel()


 

相关文章: