你的浏览器禁用了JavaScript, 请开启后刷新浏览器获得更好的体验!
输入关键字进行搜索
朱新颖
赞同来自:
IMap map = axMapControl1.ActiveView.FocusMap; IFeatureLayer featureLayer = map.get_Layer(0) as IFeatureLayer; IFeatureLayerDefinition def = featureLayer as IFeatureLayerDefinition; string whereclause = FID <5; def.DefinitionExpression = whereclause; IQueryFilter queryFilter = new QueryFilterClass(); queryFilter.WhereClause = whereclause; IFeatureCursor cursor = featureLayer.Search(queryFilter, true); IFeature fea = cursor.NextFeature(); IEnvelope envelope = new EnvelopeClass(); while (fea!=null) { envelope.Union(fea.ShapeCopy.Envelope); fea = cursor.NextFeature(); } axMapControl1.Extent = envelope; axMapControl1.Refresh();
要回复问题请先登录或注册
1 个回复
朱新颖
赞同来自:
确实使用AreaOfInterest不起作用,获取的仍然是整个图层的内容,可以通过IFeatureLayer.Search根据过滤条件获取所有的Feature,然后使用IEnvelope.Unin()将其合并,最后缩放到该区域
要回复问题请先登录或注册