arcgis for js FeatureLayer文字标注


ArcGIS在发布服务的前可以设置图层的标注,也可以在发布服务后调用Arcgis API来修改要素的标注。
修改标注主要利用图层的setLabelingInfo(labelingInfo)方法,其中参数labelingInfo是一个LabelClass数组。

labelClass对象

有两种方法初始化一个LabelClass对象:

  • var lc=new LabelClass(json)通过一个json对象来构造。
  • 创建一个无参的LabelClass然后分别设置属性:
 var lc=new LabelClass(); lc.fieldInfos=[]; //表示要标记的字段信息的对象数组 lc.labelExpression=""; //调整标签的格式 lc.labelExpressionInfo={}; //使用FeatureLayer图层类型时使用此属性。 lc.labelPlacement="";//标记显示的位置 lc.maxScale=10000; //标注显示的最大比例,超过就不显示 lc.minScale=100;//标记显示的最小比例,低于就不显示 lc.symbol=TextSymbol;//设置标记的文本渲染符号 lc.where=""; //如果指定,只有与此子句匹配的要素才会被标注

如果是以JSON方式初始化,JSON可以包含以上属性。

创建标注

先在require中引用类:

require(["esri/layers/LabelClass"], function(LabelClass) { });

创建LabelClass对象:

var lc=new LabelClass({ labelExpressionInfo:{ value:"{Name}" //以"Name"属性作为标记字段 }, labelPlacement: "below-center" //标记位置为正下方 });

设置LabelClasssymbol

 /* *现在require中引用TextSymbol、Color、Font等类 */ var textSymbol = new TextSymbol(); textSymbol.color=new Color("red");//设置标注颜色 var font=new Font("8pt",Font.STYLE_ITALIC,Font.VARIANT_NORMAL,Font.WEIGHT_BOLD,"Courier"); //设置标注字体 textSymbol.font=font

添加标注

在给图层添加标注前,必须要将Map设置为显示标注:

map = new Map("map", { basemap: "osm", center: [115.9, 28.682303711467203], showLabels : true //一定要设置为true });

图层添加标注:

 layer.setLabelingInfo([lc]);

【转】 https://blog.csdn.net/qq451354/article/details/56835164


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM