版权声明:转载请注明作者(独孤尚良dugushangliang)出处:https://blog.csdn.net/dugushangliang/article/details/100150910
由ESRI官网得到代码如下:
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no">
<title>测试ArcGIS API for JavaScript</title>
<style>
html,
body,
#viewDiv {
padding: 0;
margin: 0;
height: 100%;
width: 100%;
}
</style>
<link rel="stylesheet" href="https://js.arcgis.com/4.12/esri/css/main.css">
<script src="https://js.arcgis.com/4.12/"></script>
<script>
require([
"esri/Map",
"esri/views/MapView",
"esri/layers/FeatureLayer"
], function (Map, MapView, FeatureLayer) {
var map = new Map({
basemap: "topo-vector"
});
var view = new MapView({
container: "viewDiv",
map: map,
center: [-118.80543, 34.02700],
zoom: 12
});
var trailheadsRenderer = {
type: "simple",
symbol: {
type: "picture-marker",
url: "http://static.arcgis.com/images/Symbols/NPS/npsPictograph_0231b.png",
width: "18px",
height: "18px"
}
};
var trailheadsLabels = {
symbol: {
type: "text",
color: "#FFFFFF",
haloColor: "#5E8D74",
haloSize: "2px",
font: {
size: "12px",
family: "Noto Sans",
style: "italic",
weight: "normal"
}
},
labelPlacement: "above-center",
labelExpressionInfo: {
expression: "$feature.TRL_NAME"
}
};
var trailheadsLayer = new FeatureLayer({
url: "https://services3.arcgis.com/GVgbJbqm8hXASVYi/ArcGIS/rest/services/Trailheads/FeatureServer/0",
renderer: trailheadsRenderer,
labelingInfo: [trailheadsLabels]
});
map.add(trailheadsLayer);
});
</script>
</head>
<body>
<div id="viewDiv"></div>
</body>
</html>
这段代码是二维地图上添加一个点层,此点层用图片符号化,并加上标注,标注字段使用的是名字,效果如下图:
此点层的信息可在https://services3.arcgis.com/GVgbJbqm8hXASVYi/ArcGIS/rest/services/Trailheads/FeatureServer/0查看,如下所示:
决定显示哪个字段的代码,明眼人都能看出,是在59行,即:expression: "$feature.TRL_NAME"。不用数,可以直接搜这行代码来定位。
由上图所示,我们可以知道这个点层都有这么些字段,那么我们要显示其他的字段,怎么办?
很简单,把这行代码改了就行了。如下图所示:
但有时候为什么有的字段就不显示了,不仅字段不显示,整个图层都不显示了呢?这是因为有了错误,这整个层都会受到影响。这个有的时候,我还没有确认都什么情况,有的是用了别的组件,如popup或者什么,有的也不知道是怎么了。
如果字段名没错,也确实是这个图层的,那么就肯定有问题。
在寻找答案的时候,我后来发现了这个:
这所需要的,就是:outFields: ["TRL_NAME", "ELEV_FT"]
独孤尚良dugushangliang——著