require(["esri/smartMapping/renderers/location"], (locationRendererCreator) => { /* code goes here */ });
import * as locationRendererCreator from "@arcgis/core/smartMapping/renderers/location.js";
esri/smartMapping/renderers/location
This object contains helper methods for generating location-only visualizations (not data-driven) in a Layer. The createRenderer() method generates a SimpleRenderer object that may be applied directly to the layer. This renderer contains a single symbol with a color optimally selected based on the background of the view.
- See also
Method Overview
Name | Return Type | Summary | Object |
---|---|---|---|
Promise<RendererResult> | Generates a Renderer that may be applied directly to a supported Layer. | location |
Method Details
-
createRenderer
createRenderer(params){Promise<RendererResult>}
-
Generates a Renderer that may be applied directly to a supported Layer. The renderer contains a single symbol with a color optimally chosen based on the view's background.
In most cases you will provide a
layer
andview
to generate this renderer. If working in a 3D SceneView, then thesymbolType
option should be used.ParametersSpecificationparams ObjectInput parameters for generating a location-based visualization. See the table below for details of each parameter.
Specificationlayer FeatureLayer|SceneLayer|CSVLayer|GeoJSONLayer|WFSLayer|OGCFeatureLayer|StreamLayer|OrientedImageryLayer|CatalogFootprintLayer|KnowledgeGraphSublayer|SubtypeGroupLayer|SubtypeSublayerThe layer for which the visualization is generated.
view ViewoptionalThe view where the input layer is rendered. This method inspects the view's background (i.e. basemap, web map background, or view container) to determine optimal colors for the output renderer. This parameter should always be set in practice, but if not provided this method will assume the generated renderer will display on a light background.
locationScheme LocationSchemeoptionalIn authoring apps, the user may select a pre-defined location scheme. Pass the scheme object to this property to avoid getting one based on the view's background.
sizeOptimizationEnabled BooleanoptionalDefault Value: falseFor point and polyline layers only. Indicates whether symbol sizes should vary based on view scale. When set, a valid MapView instance must be provided in the
view
parameter. This option is not supported for 3D SceneViews.outlineOptimizationEnabled BooleanoptionalDefault Value: falseFor polygon layers only. Indicates whether the polygon outline width should vary based on view scale. When set, a valid MapView instance must be provided in the
view
parameter. This option is not supported for 3D SceneViews.filter FeatureFilteroptionalSince 4.31 When defined, only features included in the filter are considered in the attribute and spatial statistics calculations when determining the final renderer. This is useful when a lot of variation exists in the data that could result in undesired data ranges. A common use case would be to set a filter that only includes features in the current extent of the view where the data is most likely to be viewed. Currently, only geometry filters with an
intersects
spatial relationship are supported. All other filter types (includingwhere
) are ignored.symbolType StringoptionalDefault Value: 2dThe type of symbol to generate. This depends on the view in which you are working and the desired visualization. This parameter does not need to be specified for layers with a
mesh
geometry type. Possible values are described below.Value Description 2d Generates a visualization using 2D symbols such as SimpleMarkerSymbol, SimpleLineSymbol, or SimpleFillSymbol. Use this option if generating a visualization for data in a MapView. 3d-flat Generates a visualization using 3D symbols with flat symbol layers such as IconSymbol3DLayer, LineSymbol3DLayer, or FillSymbol3DLayer. Use this option if generating a 2D visualization for data in a SceneView. 3d-volumetric Generates a visualization using 3D symbols with volumetric symbol layers such as ObjectSymbol3DLayer, PathSymbol3DLayer, or ExtrudeSymbol3DLayer. Use this option if generating a 3D visualization for data in a SceneView. A SceneView instance must be provided to the view
parameter if this option is used.3d-volumetric-uniform Generates a visualization using uniformly sized 3D symbols with volumetric symbol layers. Use this option if generating a 3D visualization for data in a SceneView and the symbol should be sizes uniformly, for example with spheres. A SceneView instance must be provided to the view
parameter if this option is used.Possible Values:"2d"|"3d-flat"|"3d-volumetric"|"3d-volumetric-uniform"
colorMixMode StringoptionalDefault Value: replaceThis option only applies to generating renderers for mesh SceneLayers. Specifies how the symbol's color is applied to the geometry color/texture. See the documentation in FillSymbol3DLayer.material for more context. See the table below for possible values.
Value Description tint Applies the symbol color
to the unsaturated geometry/texture color.replace Removes the geometry/texture color and applies the symbol color
.multiply Multiplies geometry/texture color value with the symbol color
value. The result is a darker color. Multiplying with white keeps the geometry color the same.forBinning BooleanoptionalIndicates whether the generated renderer is for a binning visualization.
signal AbortSignaloptionalAllows for cancelable requests. If canceled, the promise will be rejected with an error named
AbortError
. See also AbortController.ReturnsType Description Promise<RendererResult> Resolves to an instance of RendererResult. Examplelet layer = new FeatureLayer({ url: "https://services.arcgis.com/V6ZHFr6zdgNZuVG0/arcgis/rest/services/counties_politics_poverty/FeatureServer/0" }); // simple visualization to indicate features with a single symbol let params = { layer: layer, view: view }; // when the promise resolves, apply the renderer to the layer locationRendererCreator.createRenderer(params) .then(function(response){ layer.renderer = response.renderer; });
Type Definitions
-
The result object of the createRenderer() method. See the table below for details of each property.
- Properties
-
renderer SimpleRenderer
A simple renderer configured with a single color best suited to match the background of the view. Set this to a layer's
renderer
property to update its visualization.locationScheme LocationSchemeThe location scheme used by the renderer.
basemapId StringThe ID of the basemap used to determine the optimal fill color of the features.
basemapTheme StringIndicates whether the average color of the input view's basemap is
light
ordark
.