import { getTemplates } from "@arcgis/core/smartMapping/popup/templates.js";const { getTemplates } = await $arcgis.import("@arcgis/core/smartMapping/popup/templates.js");- Since
- ArcGIS Maps SDK for JavaScript 4.16
This object contains helper methods for generating popup templates to be set on a layer. The suggested popup templates will only include information in the popup related to the layer's renderer. For example, the popup template in the image below was generated based on a layer rendered with a predominance renderer coloring census tracks based on the decade in which the most homes were built.
This provides a better default popup template than the traditional approach of providing a long table of unformatted values.
| Suggested default template based on renderer | Traditional default |
|---|---|
![]() | ![]() |
Functions
| Name | Return Type | Object |
|---|---|---|
| | ||
| |
getTemplates
Returns one or more suggested popupTemplates for a given layer based on its renderer. This method is useful in apps where a layer's renderer can be modified by the user (or some other process) and the popup template is expected to display values related to the renderer. Popup templates will not be generated for layers with renderers that don't refer to a data value (i.e. SimpleRenderer with no visual variables).
- Signature
-
getTemplates (params: TemplateParameters): Promise<Templates | null | undefined>
Parameters
| Parameter | Type | Description | Required |
|---|---|---|---|
| params | The function parameters. | |
Example
// Sets a suggested popupTemplate on the layer based on its rendererpopupTemplateCreator.getTemplates({ layer: featureLayer, renderer: featureLayer.renderer}).then(function(popupTemplateResponse){ if ( popupTemplateResponse.primaryTemplate ){ featureLayer.popupTemplate = popupTemplateResponse.primaryTemplate.value; }}).catch(function(error){ console.error(error);});Type definitions
TemplateParameters
layer
- Type
- PopupSupportedLayer
The layer to which the suggested popup templates can be applied.
renderer
- Type
- RendererUnion | undefined
Specify the renderer to be used on the layer when if it will be different than the renderer already set on the layer.

