阅读:1491回复:0
AE获取要素符号问题
<P>AE获取要素符号问题</P>
<P>AE的常用符号化是根据图层属性值唯一值进行符号化</P> <P>新手想获取原有要素的符号,先代码如下: </P> <P> public ISymbol get_SymbolByFeature(IFeatureLayer ls_FeatLayer, string strFieldName, string strFieldValue)<BR> {<BR> ISymbol ls_Symbol = null; //此方法不能返回ISymbol,不知是何原因<BR> IFeature ls_Feat = null;<BR> if (ls_FeatLayer != null)<BR> {<BR> IGeoFeatureLayer tmp_GeoFeatLayer = (IGeoFeatureLayer)ls_FeatLayer;<BR> IFeatureRenderer ls_FeatRenderer = tmp_GeoFeatLayer.Renderer;<BR> IQueryFilter ls_QueryFilter = new QueryFilterClass();<BR> try<BR> {<BR> ls_QueryFilter.WhereClause = "" + strFieldName + "='" + strFieldValue + "'";<BR> ls_FeatRenderer.PrepareFilter(ls_FeatLayer.FeatureClass, ls_QueryFilter);<BR> IFeatureCursor ls_FeatCursor = ls_FeatLayer.FeatureClass.Search(ls_QueryFilter, true);<BR> ls_Feat = ls_FeatCursor.NextFeature();<BR> MessageBox.Show(ls_Feat.OID.ToString());<BR> ls_Symbol = ls_FeatRenderer.get_SymbolByFeature(ls_Feat);<BR> }<BR> catch (Exception ex)<BR> {<BR> MessageBox.Show("寻找已有符号失败");<BR> }<BR> }<BR> else<BR> {<BR> return null;<BR> }<BR> return ls_Symbol;<BR> }</P> <P>出现的问题是函数调用后,显示返回值为null,不知是何原因,请大虾们指点。</P><img src="images/post/smile/dvbbs/em08.gif" /> |
|