我是靠谱客的博主 柔弱小蜜蜂,最近开发中收集的这篇文章主要介绍发现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表达式应用不成功的问题所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部