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