// 定位到指定的面,并高亮显示 ESRI.ArcGIS.ADF.Web.DataSources.IMS.MapFunctionality mf = (ESRI.ArcGIS.ADF.Web.DataSources.IMS.MapFunctionality)Map1.GetFunctionality( 0 ); ; ESRI.ArcGIS.ADF.IMS.Carto.MapView mv = mf.MapView; ESRI.ArcGIS.ADF.IMS.Carto.Layer.FeatureLayer queryLayer; queryLayer = (FeatureLayer)mv.Layers.FindByName( " SDE.SDE.行政分区 " ); Filter queryFilter = new Filter(); string strSQL = " objectid='1'' " ; queryFilter.WhereExpression = strSQL; QueryParameters queryParams = new QueryParameters(queryFilter); queryFilter.Tolerance = 20 ; queryFilter.ToleranceUnits = BufferUnits.Meters; queryParams.ReturnGeometries = true ; queryParams.ReturnGlobalEnvelope = true ; queryLayer.Visible = true ; FeatureTable ft = queryLayer.Query(queryParams); // 缩放至查询结果的区域 if (ft.Rows.Count != 0 ) ... { ESRI.ArcGIS.ADF.IMS.Geometry.Geometry featureGeom = (ESRI.ArcGIS.ADF.IMS.Geometry.Geometry)ft.Rows[0]["#SHAPE#"]; ESRI.ArcGIS.ADF.Web.Geometry.Geometry adfGEom = ESRI.ArcGIS.ADF.Web.DataSources.IMS.Converter.ToADFGeometry(featureGeom); ESRI.ArcGIS.ADF.Web.Geometry.Envelope adfEnv = ESRI.ArcGIS.ADF.Web.Geometry.Envelope.GetMinimumEnclosingEnvelope(adfGEom); Map1.Extent = adfEnv; } ESRI.ArcGIS.ADF.IMS.Display.Symbol.FeatureSymbol selSymbol = new ESRI.ArcGIS.ADF.IMS.Display.Symbol.SimpleFillSymbol(System.Drawing.Color.Yellow, System.Drawing.Color.Red, PolygonFillType.Solid); selSymbol.Transparency = 10 ; ESRI.ArcGIS.ADF.IMS.Display.Renderer.ValueMapRenderer selValueMapRenderer = new ESRI.ArcGIS.ADF.IMS.Display.Renderer.ValueMapRenderer( "" , selSymbol, " 名称 " ); FeatureLayer hilightLayer = queryLayer.CreateSelectionLayer(queryFilter, selValueMapRenderer, " hilightlayer " ); hilightLayer.Name = " SelectedPARCEL " ; // 将图层添加到mapView中 if (mv.Layers.FindByName( " SelectedPARCEL " ) == null ) ... { mv.Layers.Add(hilightLayer); } else ... { mv.ClearSelectionLayers(); mv.Layers.Add(hilightLayer); } Map1.Refresh();