我是靠谱客的博主 柔弱小蜜蜂,这篇文章主要介绍发现ArcEngine/ArcObject注记label表达式应用不成功的问题,现在分享给大家,希望可以做个参考。

之前根据mdb数据源制作的mxd模板,添加Label表达式,使用AnnotationJScriptEngineClass写Expression没问题;

但是在应用到GDB的数据时,IPrintAndExport导出的图片注记未生效,发现GDB应用Label的表达式JS失效,要使用VB引擎AnnotationVBScriptEngineClass。

ILabelEngineLayerProperties pLabelEngineLayerProperties = new LabelEngineLayerPropertiesClass();
//设置标注符号
pLabelEngineLayerProperties.Symbol = pTextSymbol;
pLabelEngineLayerProperties.BasicOverposterLayerProperties = pBasicOverposterLayerProperties;
//声明标注的Expression是否为Simple
pLabelEngineLayerProperties.IsExpressionSimple = false;
AnnotationVBScriptEngineClass parser = new AnnotationVBScriptEngineClass();
pLabelEngineLayerProperties.ExpressionParser = parser;
string strExpression = "Function FindLabel ( [权利人], [ZDDM], [代码], [SJYTDLBM] ) rn If  ([ZDDM]=""+strZDDM+"") Thenrn  FindLabel = [权利人] &  vbnewline  &  [ZDDM] &  vbnewline  &  [代码] &  vbnewline  &  [SJYTDLBM]rn elsern FindLabel=[权利人]rnEnd ifrnEnd Function";
pLabelEngineLayerProperties.Expression = strExpression;

 

最后

以上就是柔弱小蜜蜂最近收集整理的关于发现ArcEngine/ArcObject注记label表达式应用不成功的问题的全部内容,更多相关发现ArcEngine/ArcObject注记label表达式应用不成功内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(57)

评论列表共有 0 条评论

立即
投稿
返回
顶部