Method Overview
Name | Return Type | Summary | Object |
---|---|---|---|
Promise<Schemes> | Generates default labelingInfo schemes to be set on a FeatureLayer's featureReduction configuration. more details | clusters |
Method Details
-
Generates default labelingInfo schemes to be set on a FeatureLayer's featureReduction configuration. Returns one or more suggested LabelClasses for a given layer based on its renderer. It also returns a suggested clusterMinSize to ensure labels fit inside clusters.
If a renderer has a non-scale dependent SizeVariable, then the average value of the field or expression used to determine the cluster size will be suggested as the default label value. In all other scenarios, the suggested label will display the cluster count in the center of the label.
ParametersSpecificationparams ObjectSee the table below for details of each parameter that may be passed to this function.
SpecificationThe point layer that has or will have clustering enabled.
renderer RendereroptionalThe renderer to set on the input layer when clustering is enabled. Specify this parameter if the layer's renderer does not match the renderer that will be used when clustering is enabled. This cannot be a HeatmapRenderer.
view MapViewThe view where the input layer will be rendered.
ReturnsType Description Promise<Schemes> Returns an object containing suggested primary and secondary labeling schemes to be set on the layer's featureReduction
property.Example// Sets a suggested popupTemplate on the layer based on its renderer clusterLabelCreator.getLabelSchemes({ layer: featureLayer, view: view }).then(function(labelSchemes){ const featureReduction = featureLayer.featureReduction.clone(); const { labelingInfo, clusterMinSize } = labelSchemes.primaryScheme; featureReduction.labelingInfo = labelingInfo; featureReduction.clusterMinSize = clusterMinSize; featureLayer.featureReduction = featureReduction; }).catch(function(error){ console.error(error); });
Type Definitions
-
Scheme
-
Contains a suggested labelingInfo to be set on the layer's featureReduction.labelingInfo.
- Properties
-
name String
The name of the generated cluster labeling scheme. This can be used in the UI of web map authoring apps.
fieldName StringThe name of the aggregate field the labeling scheme is based on. This can be used in the UI of web map authoring apps.
labelingInfo LabelClass[]An array of LabelClass objects to set on the layer's featureReduction.labelingInfo property.
clusterMinSize NumberThe suggested featureReduction.clusterMinSize required to fit labels within clusters.
-
Schemes
-
The return object of the getLabelSchemes() method.
- Properties
-
primaryScheme Scheme
Includes the primary labeling scheme suggested for the input layer's clusters.
Includes secondary labeling schemes suggested for the input layer's clusters.