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

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

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

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

})

<script type="text/plain" id="label-expression">

  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)

</script>

利用Arcade表达式显示多行标签的更多相关文章

  1. 用Arcade表达式添加标签

    Arcade表达式是轻量级的脚本语言,我们可以通过全局变量$feature获取要素属性.比如说,要为城市添加标签,利用CITY_NAME列,我们可以编写语句:$feature.CITY_NAME.Ar ...

  2. 实战2--应用EL表达式显示投票结果

    (1)编写index.jsp页面,用于收集投票信息 <%@ page language="java" pageEncoding="GBK"%> &l ...

  3. IntelliJ IDEA于Make Project时报:子字符串不是票面金额的结束、非法的表达式显示启动

    IntelliJ IDEA于Make Project当系统提示很多错误,什么孩子不是字符串票面金额的结束.非法的表达式显示启动-- 解决方法是改变File Encoding,更改方法:File > ...

  4. 优雅实现INotifyPropertyChanged接口——利用Lambda表达式

    原文:优雅实现INotifyPropertyChanged接口--利用Lambda表达式 参考文章 在14年的时候,曾经读过上面的参考文章,不过当时并没有怎么理解,慢慢地也就将这篇文章忘诸脑后了. 直 ...

  5. Banner中利用Jquery隐藏显示下方DIV块

    实现方式1: <!DOCTYPE html><html><head>    <meta charset="UTF-8">    &l ...

  6. C#利用lambda表达式将函数作为参数或属性跨类传递

    在编码时,由于开始是在winform下进行简单的测试开发的,后来代码多了,就想分到不同的类里边去,可是因为原来的测试是在同一个form下的,所以对于函数调用可以很方便,而一旦跨类之后,就会发现,这函数 ...

  7. Logstash利用GeoIP库显示地图以及通过useragent显示浏览器(四)

    我们通过Logstash收集的Nginx Access log中已经包含了客户端IP的数据(remote_addr),但是只有这个IP还不够,要在Kibana的显示请求来源的地理位置还需要借助GeoI ...

  8. WordPress主题开发实例:利用侧边栏工具显示联系方式

    利用侧边栏显示联系方式是很方便的 一.先开启侧边栏工具,在functions.php加上 $args = array( 'name' => __( '分类侧边栏'), 'id' => 'c ...

  9. 使用base64对图片的二进制进行编码,使其可以利用ajax进行显示

    有时候我们需要动态的将图片的二进制在页面上进行显示,如我们需要弄一个验证码的功能,那么如果我们的验证码的图片在后台得到的是该图片的二进制,那么当我们需要在页面上点击一个按钮利用ajax进行切换的时候, ...

随机推荐

  1. deepin 新创建的用户文件管理中挂载点打不开

    使用 root 用户可以打开,但是使用非 root 用户打不开 原因是权限不够 test1@test1-PC:~$ cd /media/ test1@test1-PC:/media$ ls apt c ...

  2. Project Euler 50 Consecutive prime sum

    题意: 素数41可以写成六个连续素数的和: 41 = 2 + 3 + 5 + 7 + 11 + 13 在小于一百的素数中,41能够被写成最多的连续素数的和. 在小于一千的素数中,953能够被写成最多的 ...

  3. 51nod1072 - 威佐夫游戏【威佐夫博弈】

    有2堆石子.A B两个人轮流拿,A先拿.每次可以从一堆中取任意个或从2堆中取相同数量的石子,但不可不取.拿到最后1颗石子的人获胜.假设A B都非常聪明,拿石子的过程中不会出现失误.给出2堆石子的数量, ...

  4. nyoj26-孪生素数问题

    孪生素数问题 时间限制:3000 ms  |  内存限制:65535 KB 难度:3 描述 写一个程序,找出给出素数范围内的所有孪生素数的组数.一般来说,孪生素数就是指两个素数距离为2,近的不能再近的 ...

  5. [SPOJ1716] GSS3 - Can you answer these queries III

    线段树操作. 维护一个区间最大连续子段和,左最大连续子段和,右最大连续子段和即可. 最后不知道怎么搞,query的时候返回了个结构体. #include <cstdio> #include ...

  6. ORA-29857: 表空间中存在域索引和/或次级对象

    今天小编在操作 oracle 数据库,删除表空间时引发了异常!! SQL> drop tablespace nbmap including contents; 为什么会造成以上的异常呢? 根据小 ...

  7. redis 对 key 的操作

    keys * :查询当前库中所有的 key keys k? :问号是占位符 del key :删除指定的 key exists k1 :判断 k1 是否存在 move k1 2  :(剪切) 将 k1 ...

  8. ExtJs之Ext.XTemplate:数组填充,访问父对象

    <!DOCTYPE html> <html> <head> <title>ExtJs</title> <meta http-equiv ...

  9. JavaScript中==和===区别

    在我们的日常编码中对于===是不常用的,但是它很重要 ===:表示绝对相等(严格) !==:表示不绝对相等 ==:表示相等(不严格) !=:表示不相等 看一下列子: null==undefined   ...

  10. openfire 安装部署

    1. openfire安装和配置 本文介绍openfire 在linux上安装部署过程 linux上有两种安装方式,一个是RPM包方式.还有一个是tar.gz压缩包方式, 官方推荐採用RPM包方式,会 ...