-
PrimitiveOverride
Object
表示原始覆盖。图元覆盖允许您使用 Arcade 表达式根据数据值动态更改符号图层上的属性。这与 Arcade visualization profile 一起使用,它可以访问
$feature
和$view.scale
配置文件变量。这允许您基于当前视图比例的要素属性覆盖符号图层属性。使用
$view.scale
:以下 JSON 片段显示了对size
具有原始名称的符号图层的属性"symbol-layer-1"
.基于 Arcade 表达式,符号图层的大小将随着视图比例的变化而更新。{ type: "CIMPrimitiveOverride", primitiveName: "symbol-layer-1", // the name of the symbol layer we want to override propertyName: "Size", // the name of the property on the symbol layer we want to override valueExpressionInfo: { type: "CIMExpressionInfo", title: "Size override", // the pixel size at the largest scale // 42 represents the pixel size of the // circles at the view's largest scale (1:2,311,161) expression: "42 * 2311161 / $view.scale", returnType: "Default" } }
使用
$feature
:以下 JSON 片段显示了对textString
a的属性标记图形带有原始名称"textGraphic"
.的值textGraphic
将基于的值NAME
对于每个函数。{ type: "CIMPrimitiveOverride", primitiveName: "textGraphic", propertyName: "TextString", valueExpressionInfo: { type: "CIMExpressionInfo", title: "Custom", expression: "$feature.NAME", // value of textString will be based on the NAME of the feature returnType: "Default" } }
-
类型 说明 type String值永远是"CIMPrimitiveOverride".
primitiveName String此覆盖适用的原语名称。
propertyName String此覆盖适用的原语中的属性名称(例如"Size")。此值必须为正确大小写(例如 "Size" 而不是 "size")。
valueExpressionInfo Object包含 Arcade 表达式,该表达式返回要应用于基元属性的值。
- 规格:
-
type String
值永远是"CIMExpressionInfo".
title String可选的 说明表达式的人类可读文本。
expression String遵循 Arcade Visualization Profile 定义的规范的 Arcade 表达式。原始覆盖中的表达式可以使用
$feature
全局变量引用字段值,并且必须返回一个数字或字符串。此表达式返回的值表示指定propertyName
的值覆盖。例如,当覆盖符号图层的颜色时,您必须返回表示颜色的字符串或数组(例如[255, 0, 0, 1]
、"red"
或"#fff"
)。覆盖大小时,您必须返回一个表示符号图层新大小的数字。name String可选的 表达式的名称。
returnType String可选的 表达式的返回类型。
"Default"
表示表达式的返回类型由消费者使用表达式确定。可能的值:"Default"|"String"|"Numeric"
属性:
-
基本信息
以下是所在类或对象的基本信息。
AMD:
require(["esri/symbols/CIMSymbol"], (CIMSymbol) => { /* code goes here */ });
ESM:
import CIMSymbol from "@arcgis/core/symbols/CIMSymbol";
类:
esri/symbols/CIMSymbol
继承: CIMSymbol > Symbol > Accessor
自从:用于 JavaScript 4.12 的 ArcGIS API
用法说明
CIMSymbol.PrimitiveOverride
函数(或属性)的定义如下:
相关用法
- JavaScript ArcGIS CIMSymbol.CIMTextSymbol用法及代码示例
- JavaScript ArcGIS CIMSymbol.CIMGeometricEffectJog用法及代码示例
- JavaScript ArcGIS CIMSymbol.CIMMarkerPlacementPolygonCenter用法及代码示例
- JavaScript ArcGIS CIMSymbol.CIMGeometricEffectDashes用法及代码示例
- JavaScript ArcGIS CIMSymbol.CIMSolidStroke用法及代码示例
- JavaScript ArcGIS CIMSymbol.CIMMarkerPlacementInsidePolygon用法及代码示例
- JavaScript ArcGIS CIMSymbol.CIMMarkerPlacementOnLine用法及代码示例
- JavaScript ArcGIS CIMSymbol.CIMMarkerPlacementAtRatioPositions用法及代码示例
- JavaScript ArcGIS CIMSymbol.CIMPictureMarker用法及代码示例
- JavaScript ArcGIS CIMSymbol.CIMMarkerPlacementAlongLineSameSize用法及代码示例
- JavaScript ArcGIS CIMSymbol.CIMGeometricEffectScale用法及代码示例
- JavaScript ArcGIS CIMSymbol.CIMGeometricEffectCut用法及代码示例
- JavaScript ArcGIS CIMSymbol.clone用法及代码示例
- JavaScript ArcGIS CIMSymbol.CIMPolygonSymbol用法及代码示例
- JavaScript ArcGIS CIMSymbol.CIMGeometricEffectArrow用法及代码示例
- JavaScript ArcGIS CIMSymbol.CIMPictureFill用法及代码示例
- JavaScript ArcGIS CIMSymbol.CIMGeometricEffectBuffer用法及代码示例
- JavaScript ArcGIS CIMSymbol.CIMGeometricEffectOffset用法及代码示例
- JavaScript ArcGIS CIMSymbol.CIMColorSubstitution用法及代码示例
- JavaScript ArcGIS CIMSymbol.CIMGeometricEffectMove用法及代码示例
- JavaScript ArcGIS CIMSymbol.CIMPointSymbol用法及代码示例
- JavaScript ArcGIS CIMSymbol.CIMHatchFill用法及代码示例
- JavaScript ArcGIS CIMSymbol.CIMVectorMarker用法及代码示例
- JavaScript ArcGIS CIMSymbol.CIMMarkerPlacementOnVertices用法及代码示例
- JavaScript ArcGIS CIMSymbol.CIMGeometricEffectRotate用法及代码示例
注:本文由纯净天空筛选整理自arcgis.com大神的英文原创作品 CIMSymbol.PrimitiveOverride。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。