概述
之前根据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表达式应用不成功的问题所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复