做了一个图层标注显示并非图层要素对应字段值,而作一个翻译,网上也未找到比较详细的说明,因此费了较长时间,这里作一个记录;
下面对整个设置过程作一个详细的标注:
IFeatureLayer feaLy = curLayer as IFeatureLayer;//把需要标注的图层转化为featurelayer
IGeoFeatureLayer geoFeaLy = feaLy as IGeoFeatureLayer;//转化为几何图层,只有几何图层才可以设置标注
if (geoFeaLy == null)
return;
geoFeaLy.DisplayAnnotation = true; //是否显示标注
ILabelEngineLayerProperties labelEngine = new LabelEngineLayerPropertiesClass(); //标注属性类
IAnnotateLayerProperties labelPro = labelEngine as IAnnotateLayerProperties; //图层标注属性类
IAnnotateLayerPropertiesCollection annoLyProCol = geoFeaLy.AnnotationProperties; //图层标注属性集合类-
annoLyProCol.Clear(); //清空当前图层的标注设置
if (字典表数据) //表示不显示图层要素对应的