MapView mapView = mapFunct.MapView;
//获得图层名
string layername = DropDownList1.SelectedValue.ToString();
FeatureLayer theLayer = (FeatureLayer)mapView.Layers.FindByName(layername);
Filter queryFilter = new Filter();
//查询条件
string querytext = "NAME LIKE " + "'%" + TextBox1.Text + "%'";
queryFilter.WhereExpression = querytext;
ESRI.ArcGIS.ADF.StringCollection strCollection = new ESRI.ArcGIS.ADF.StringCollection();
//需要显示的字段
strCollection.Add("NAME OBJECTID");
queryFilter.SubFields = strCollection;
QueryParameters queryParams = new QueryParameters(queryFilter);
queryParams.ReturnEnvelopes = true;
queryParams.ReturnGeometries = true;
queryParams.ReturnGlobalEnvelope = true;
// 查询并返回 pFeatureTable
FeatureTable pFeatureTable = theLayer.Query(queryParams);
//居中显示
ESRI.ArcGIS.ADF.IMS.Geometry.Geometry featureGeom = (ESRI.ArcGIS.ADF.IMS.Geometry.Geometry)pFeatureTable.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;
//新建高亮的符号
queryFilter.WhereExpression = querytext;
ESRI.ArcGIS.ADF.StringCollection strCollection = new ESRI.ArcGIS.ADF.StringCollection();
//需要显示的字段
strCollection.Add("NAME OBJECTID");
queryFilter.SubFields = strCollection;
QueryParameters queryParams = new QueryParameters(queryFilter);
queryParams.ReturnEnvelopes = true;
queryParams.ReturnGeometries = true;
queryParams.ReturnGlobalEnvelope = true;
// 查询并返回 pFeatureTable
FeatureTable pFeatureTable = theLayer.Query(queryParams);
//居中显示
ESRI.ArcGIS.ADF.IMS.Geometry.Geometry featureGeom = (ESRI.ArcGIS.ADF.IMS.Geometry.Geometry)pFeatureTable.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, "Name");
FeatureLayer hilightLayer = theLayer.CreateSelectionLayer(queryFilter, selValueMapRenderer, "hilightlayer");
hilightLayer.Name = "SelectedPARCEL";
//将图层添加到mapView中
if (mapView.Layers.FindByName("SelectedPARCEL") == null)
{
mapView.Layers.Add(hilightLayer);
}
else
{
mapView.ClearSelectionLayers();
mapView.Layers.Add(hilightLayer);
}
Map1.Refresh();