import { createRenderer } from "@arcgis/core/smartMapping/renderers/location.js";const { createRenderer } = await $arcgis.import("@arcgis/core/smartMapping/renderers/location.js");- Since
- ArcGIS Maps SDK for JavaScript 4.2
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
Functions
| Name | Return Type | Object |
|---|---|---|
| | ||
| | |
| | |
| | |
| |
createRenderer
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 and view to generate this renderer. If working in
a 3D SceneView, then the symbolType option should be used.
- Signature
-
createRenderer (parameters: RendererParameters): Promise<RendererResult>
Parameters
| Parameter | Type | Description | Required |
|---|---|---|---|
| parameters | Input parameters for generating a location-based visualization. | |
- Returns
- Promise<RendererResult>
Resolves to an instance of RendererResult.
Example
let 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 symbollet params = { layer: layer, view: view};
// when the promise resolves, apply the renderer to the layerlocationRendererCreator.createRenderer(params) .then(function(response){ layer.renderer = response.renderer; });Type definitions
RendererParameters
- Supertypes
- AbortOptions
layer
- Type
- FeatureLikeLayerOrAdapter | null | undefined
The layer for which the visualization is generated. When a client-side layer type is provided, spatial statistics are calculated only from features in the view's extent. When a server-side layer type is provided, the statistics are calculated from the entire layer.
locationScheme
- Type
- LocationScheme | null | undefined
In 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.
view
- Type
- MapViewOrSceneView | null | undefined
The 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.
symbolType
- Type
- SymbolType | null | undefined
The 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. |
- Default value
- 2d
colorMixMode
- Type
- ColorMixModeType | null | undefined
This 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. |
- Default value
- replace
outlineOptimizationEnabled
For 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.
- Default value
- false
sizeOptimizationEnabled
For 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.
- Default value
- false
filter
- Type
- FeatureFilter | null | undefined
- Since
- ArcGIS Maps SDK for JavaScript 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 (including where) are ignored.
RendererResult
The result object of the createRenderer() method. See the table below for details of each property.
renderer
- Type
- 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.
basemapTheme
- Type
- BasemapTheme | null | undefined
Indicates whether the average color of the input view's basemap is light or dark.