-
createRenderer
(params)
{Promise<RendererResult>}
生成可以直接应用于支持渲染器的Layer 的Renderer。渲染器包含表示从指定字段返回的字符串或数值的唯一符号。
在大多数情况下,您将提供
layer
、view
和field
来生成此渲染器。在这种情况下,字段的值并不为人所知,并且用户不知道在可视化中使用哪种颜色。您还可以使用valueExpression
而不是field
根据在运行时执行的脚本返回的值来可视化特征。参数:
规格:类型 说明 params Object根据从给定字段返回的数据生成符号以表示唯一类型的输入参数。有关每个参数的详细信息,请参见下表。
规格:为其生成渲染器的层。
view可选的 渲染输入层的视图。此方法检查视图的背景(即底图、Web Map背景或视图容器)以确定输出渲染器的最佳颜色。在实践中应始终设置此参数,但如果未提供此参数,则此方法将假定生成的渲染器将显示在浅色背景上。当使用
valueExpression
创建渲染器或用于在 SceneView 中显示的渲染器时,此参数是必需的。field可选的 要从中提取唯一值的字段的名称,这些值将用作数据驱动的可视化的基础。如果使用
valueExpression
,则忽略此属性。numTypes可选的 默认值: 10渲染器显示的类型(或类别)的数量。使用
-1
显示所有返回的类型。sortBy可选的 默认值:数数指示值应如何在 Legend 中排序。有关可以传递给此参数的值的信息,请参见下表。
可能的值 说明 count 唯一值/类型将根据属于每个类别的特征数量从高到低排序。 value 唯一值/类型将按字母顺序排序。 可能的值:"count"|"value"
typeScheme可选的 在创作应用程序中,用户可以选择预定义的类型方案。将方案对象传递给此属性以避免根据视图的背景获取一个。
valueExpression可选的 遵循 Arcade Visualization Profile 定义的规范的 Arcade 表达式。表达式可以使用
$feature
全局变量引用字段值,并且必须返回字符串或数字。此属性覆盖field
属性,因此用于代替输入field
值。valueExpressionTitle可选的 说明从
valueExpression
返回的值的文本。这是由Legend 小部件使用的。outlineOptimizationEnabled可选的 默认值:错误的仅适用于多边形图层。指示多边形轮廓宽度是否应根据视图比例而变化。设置后,必须在
view
参数中提供有效的 MapView 实例。 3D SceneViews 不支持此选项。sizeOptimizationEnabled可选的 默认值:错误的仅适用于点和折线图层。指示符号大小是否应根据视图比例而变化。设置后,必须在
view
参数中提供有效的 MapView 实例。 3D SceneViews 不支持此选项。legendOptions可选的 提供用于为字段设置标题的选项,该字段将覆盖服务中定义的字段别名。此标题将表示 Legend 中的字段。
规格:title用于表示 Legend 中给定字段的标题。
defaultSymbolEnabled可选的 在渲染器上启用
defaultSymbol
并将其分配给没有值的函数。symbolType可选的 默认值:二维要生成的符号类型。这取决于您正在使用的视图和所需的可视化。对于具有
mesh
几何类型的图层,可以忽略此参数。可能的值如下所述。值 说明 2d 使用 2D 符号(例如 SimpleMarkerSymbol 、 SimpleLineSymbol 或 SimpleFillSymbol )生成可视化。如果为 MapView 中的数据生成可视化,请使用此选项。 3d-flat 使用具有平面符号图层(例如 IconSymbol3DLayer 、 LineSymbol3DLayer 或 FillSymbol3DLayer )的 3D 符号生成可视化。如果为 SceneView 中的数据生成 2D 可视化,请使用此选项。 3d-volumetric 使用具有体积符号图层的 3D 符号生成可视化,例如 ObjectSymbol3DLayer 、 PathSymbol3DLayer 或 ExtrudeSymbol3DLayer 。如果为 SceneView 中的数据生成 3D 可视化,并且只有符号的高度应该是可变的,例如圆柱体,则使用此选项。如果使用此选项,则必须向 view
参数提供 SceneView 实例。3d-volumetric-uniform 使用带有体积符号图层的uniformly-sized 3D 符号生成可视化。如果为 SceneView 中的数据生成 3D 可视化,并且符号的大小应统一(例如球体),请使用此选项。如果使用此选项,则必须向 view
参数提供 SceneView 实例。可能的值:"2d"|"3d-flat"|"3d-volumetric"|"3d-volumetric-uniform"
statistics可选的 从 uniqueValues 函数生成的统计对象。如果该字段的统计信息已经生成,则在此处传递对象以避免向服务器进行第二次统计查询。
colorMixMode可选的 默认值:代替此选项仅适用于生成网格 SceneLayers 的渲染器.指定符号颜色如何应用于几何颜色/纹理。请参阅中的文档FillSymbol3DLayer.material了解更多上下文。有关可能的值,请参见下表。
值 说明 tint 将符号 color
应用于去饱和几何体/纹理颜色。replace 移除几何/纹理颜色并应用符号 color
。multiply 将几何/纹理颜色值与符号 color
值相乘。结果是颜色较深。与白色相乘可保持几何颜色相同。returnAllCodedValues可选的 指示如果给定字段具有域值,则应返回所有域代码。
signal可选的 允许可取消的请求。如果取消,promise 将被拒绝,并出现名为
AbortError
的错误。另见AbortController。返回:
类型 说明 Promise<RendererResult> 解析为 RendererResult 的实例。 例子:
let layer = new FeatureLayer({ portalItem: { id: "5ce5374a461e45bab714b43ffedf151d" } }); // visualization based on categorical field let typeParams = { layer: layer, view: view, field: "Party" }; // when the promise resolves, apply the visual variables to the renderer typeRendererCreator.createRenderer(typeParams) .then(function(response){ layer.renderer = response.renderer; });
let layer = new FeatureLayer({ url: "https://services.arcgis.com/V6ZHFr6zdgNZuVG0/arcgis/rest/services/counties_politics_poverty/FeatureServer/0" }); // visualization based off Arcade expression let typeParams = { layer: layer, valueExpression: "IIF($feature.DEMOCRAT > $feature.REPUBLICAN, 'Democrat', 'Republican', 'Tied')", view: view, valueExpressionTitle: "Election Winner" }; // when the promise resolves, apply the visual variables to the renderer typeRendererCreator.createRenderer(typeParams) .then(function(response){ layer.renderer = renderer; });
基本信息
以下是所在类或对象的基本信息。
AMD:
require(["esri/smartMapping/renderers/type"], (typeRendererCreator) => { /* code goes here */ });
ESM:
import * as typeRendererCreator from "@arcgis/core/smartMapping/renderers/type";
对象:
esri/smartMapping/renderers/type
自从:用于 JavaScript 4.4 的 ArcGIS API
用法说明
type.createRenderer
函数(或属性)的定义如下:
相关用法
- JavaScript ArcGIS type.createPCClassRenderer用法及代码示例
- JavaScript ArcGIS type.cloneScheme用法及代码示例
- JavaScript ArcGIS type.getSchemeByName用法及代码示例
- JavaScript ArcGIS type.getSchemesByTag用法及代码示例
- JavaScript ArcGIS type.getSchemes用法及代码示例
- JavaScript ArcGIS templates.getTemplates用法及代码示例
- JavaScript ArcGIS timeUtils.getTimeExtentFromLayers用法及代码示例
- JavaScript ArcGIS SceneView double-click事件用法及代码示例
- JavaScript ArcGIS geometryEngineAsync.overlaps用法及代码示例
- JavaScript ArcGIS Expand.when用法及代码示例
- JavaScript ArcGIS Sublayer.JoinTableDataSource用法及代码示例
- JavaScript ArcGIS FillSymbol3DLayer.outline用法及代码示例
- JavaScript ArcGIS Ground.loadAll用法及代码示例
- JavaScript Object valueOf()用法及代码示例
- JavaScript ArcGIS LabelClass.repeatLabelDistance用法及代码示例
- JavaScript ArcGIS KMLLayerView.when用法及代码示例
- JavaScript ArcGIS Daylight.visibleElements用法及代码示例
- JavaScript Uint8Array.of()用法及代码示例
- JavaScript ArcGIS CIMSymbol.CIMTextSymbol用法及代码示例
- JavaScript new Legend用法及代码示例
- JavaScript Slider.effectiveMin用法及代码示例
- JavaScript Sketch.classes用法及代码示例
- JavaScript Sketch.visible用法及代码示例
- JavaScript ArcGIS AreaMeasurement3D.analysis用法及代码示例
- JavaScript ArcGIS PolygonDrawAction draw-complete事件用法及代码示例
注:本文由纯净天空筛选整理自arcgis.com大神的英文原创作品 type.createRenderer。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。