java标签多行_利用Arcade表达式显示多行标签

要素图层依然是全球气象站点分布数据,属性表如下:

a65907031716b3346464ea1e42432ba2.png

展示效果如下,显示的四行数据分别是属性表中的WIND_NAME,TEMP,WIND(运算之后的),R_HUMIDITY

185147ae35c89940a0b677c4a2741af4.png

本次尝试一次性写全所有的信息:

1、定义涉及到的变量:

var minScale = 250000000;

var featureUrl = "https://services.arcgis.com/V6ZHFr6zdgNZuVG0/arcgis/rest/services/weather_stations_010417/FeatureServer/0";

2、直接进入地图展示环节:

"esri/WebMap","esri/views/MapView","esri/layers/FeatureLayer"

var view = new MapView({

container:"viewDiv",

map:new WebMap({

portalItem:{id:"372b7caa8fe340b0a6300df93ef18a7e"},

layers:[new FeatureLayer({

url:featureUrl,

renderer:{

type:"simple",

symbol:{

type:"simple-marker",

color:[75,75,75,0.7],

size:4,

outline:{

color:[0,0,0,0.7],

width:0.1

}

}

},

labelingInfo:[{

labelExpressionInfo:{

expression:document.getElementById("label-expression").text;

},

labelPlacement:"center-right",

minScale = minScale,

symbol:{

type:"text",

font:{

size:9,

family:"Noto Sans"

}

},

horizontalAlignment:"left",

color:"#2b2b2b"

}]

})]

}),

center:[-117.842, 33.799],

zoom:10

})

var NAME = $feature.STATION_NAME;

var TEMP = round($feature.TEMP)+'° F';

var SPEED = $feature.WIND_SPEED;

var DEG = $feature.WIND_DIRECT;

var RH = $feature.R_HUMIDITY+'% RH';

var WIND = when( SPEED == 0, null,

(DEG < 22.5 && DEG >= 0) || DEG > 337.5, 'N',

DEG >= 22.5 && DEG < 67.5, 'NE',

DEG >= 67.5 && DEG < 112.5, 'E',

DEG >= 112.5 && DEG < 157.5, 'SE',

DEG >= 157.5 && DEG < 202.5, 'S',

DEG >= 202.5 && DEG < 247.5, 'SW',

DEG >= 247.5 && DEG < 292.5, 'W',

DEG >= 292.5 && DEG < 337.5, 'NW', null)

var label = [NAME,TEMP,WIND,RH]

return Concatenate(labels,TextFormatting.NewLine)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值