[转]ArcIMS中查询居中与高亮显示

ESRI.ArcGIS.ADF.Web.DataSources.IMS.MapFunctionality mapFunct = (ESRI.ArcGIS.ADF.Web.DataSources.IMS.MapFunctionality)Map1.GetFunctionality(0);
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;
//新建高亮的符号
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();

转载于:https://www.cnblogs.com/harlenyu/archive/2008/12/04/1347653.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值