This sample demonstrates how to add labels to a FeatureLayer in a MapView. You can display labels either by setting the labelInfo property of the FeatureLayer, or by loading a PortalItem with labels already defined.
The value of the MARKER
field of the FeatureLayer is used to label each feature in the view, which shows Forest Service Recreation Opportunities in the United States.
To add labels to the layer, first we create a LabelClass and assign values for various properties, such as color and font. We also add a background and borderLine. See the Labeling guide page for more information and known limitations.
const labelClass = {
// autocasts as new LabelClass()
symbol: {
type: "text", // autocasts as new TextSymbol()
color: "green",
backgroundColor: [213, 184, 255, 0.75],
borderLineColor: "green",
borderLineSize: 1,
yoffset: 5,
font: {
// autocast as new Font()
family: "Playfair Display",
size: 12,
weight: "bold"
}
},
labelPlacement: "above-center",
labelExpressionInfo: {
expression: "$feature.MARKER_ACTIVITY"
}
};
This sample loads a PortalItem from ArcGIS Online, then adds the label class to the labeling
property, and applies a renderer.
map.layers = [
new FeatureLayer({
portalItem: {
// autocasts as new PortalItem
id: "6012738cd1c74582a5f98ea30ae9876f"
},
labelingInfo: [labelClass]
})
];