ArcGIS API for JavaScript——给图层添加标注

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]);

(完)

GIS技术交流:GISGO(http://www.gisgo.top)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值