symbolUtils

AMD: require(["geoscene/symbols/support/symbolUtils"], (symbolUtils) => { /* code goes here */ });
ESM: import * as symbolUtils from "@geoscene/core/symbols/support/symbolUtils";
对象: geoscene/symbols/support/symbolUtils
起始版本:GeoScene API for JavaScript 4.11

生成符号的小预览图像。在创建需要显示用于表示图层中要素的符号的小预览的自定义微件时,此实用程序非常有用。

方法概览

名称 返回类型 描述 Object
Promise<Color>更多信息

返回表示输入图形符号的颜色。

更多信息symbolUtils
Promise<Symbol>更多信息

返回一个表示输入 Graphic 的符号。

更多信息symbolUtils
HTMLElement更多信息

生成颜色渐变的预览图像以显示在自定义微件或其他 DOM 元素中。

更多信息symbolUtils
Promise<HTMLElement>更多信息

生成可以在自定义小部件或其他 DOM 元素中显示的给定符号的预览图像。

更多信息symbolUtils

方法详情

getDisplayedColor(graphic, options){Promise<Color>}
起始版本:GeoScene API for JavaScript 4.19

返回表示输入图形符号的颜色。当您需要知道图形符号的确切颜色时,此方法很有用,特别是当图形来自 hitTest() 的结果并且其符号属性可能为空时。当 Renderer 定义图层的可视化而不是在图层的每个图形上单独设置符号时,不会填充符号的属性。FeatureLayer 和任何其他具有 renderer 属性的图层就是这种情况。

参数:
规格:
graphic Graphic

从中检索显示颜色的图形。这通常来自 hitTest() 或层视图查询操作。

options Object
optional

用于生成输入图形的显示颜色的选项。如果输入图形来自具有应用了视觉变量的渲染器的图层,则必须指定这些。请参阅下面的对象规范。

规格:
scale Number
optional

显示图形的视图比例

viewingMode String
optional

视图的 viewingMode(如果图形显示在 SceneView 中)。

spatialReference SpatialReference
optional

显示图形的视图的空间参考。

renderer Renderer
optional

graphic 关联的图层的渲染器。

resolution Number
optional

显示图形的视图的分辨率

返回:
类型 说明
Promise<Color> 返回表示输入图形的颜色。
示例:
view.on("click", async (event) => {
  const { results } = await view.hitTest(event, { include: layer });
  const graphic = results[0].graphic;

  // do something with the result color
  const color = await symbolUtils.getDisplayedColor(graphic);
});
getDisplayedSymbol(graphic, options){Promise<Symbol>}

返回一个表示输入 Graphic 的符号。当您需要知道图形符号的确切视觉属性时,此方法很有用,特别是当图形来自 hitTest() 的结果并且其符号属性可能为空时。当 Renderer 定义图层的可视化而不是在图层的每个图形上单独设置符号时,不会填充符号的属性。FeatureLayer 和任何其他具有 renderer 属性的图层就是这种情况。

参数:
规格:
graphic Graphic

从中检索显示符号的图形。这通常来自 hitTest()) 操作。

options Object
optional

用于生成输入图形的显示符号的选项。 如果输入图形来自具有应用了视觉变量的渲染器的图层,则必须指定这些。请参阅下面的对象规范。

规格:
scale Number
optional

显示符号的视图比例

viewingMode String
optional

视图的 viewingMode(如果符号显示在 SceneView 中)。

spatialReference SpatialReference
optional

显示符号的视图的空间参考。

renderer Renderer
optional

graphic 关联的图层的渲染器。

resolution Number
optional

显示符号的视图分辨率

返回:
类型 说明
Promise<Symbol> 返回表示输入图形的符号。
示例:
view.on("click", async (event) => {
  const { results } = await view.hitTest(event, { include: layer });
  const graphic = results[0].graphic;

  // do something with the result symbol
  const symbol = await symbolUtils.getDisplayedSymbol(graphic, {
    scale: view.scale,
    spatialReference: view.spatialReference,
    resolution: view.resolution
  });
});
renderColorRampPreviewHTML(colors, options){HTMLElement}
起始版本:GeoScene API for JavaScript 4.13

生成颜色渐变的预览图像以显示在自定义微件或其他 DOM 元素中。

参数:
规格:
colors Color[]

用于构造颜色渐变的颜色数组。

options Object
optional

颜色渐变的格式选项。

规格:
align String
optional
默认值: vertical

指定色带的对齐方式。

可能的值:"horizontal"|"vertical"

gradient Boolean
optional
默认值:true

表示是否使用连续渐变来渲染颜色渐变。 当为 false 时,不同的颜色将出现在没有渐变的渐变中。

width Number
optional

渐变的宽度(以像素为单位)。

height Number
optional

渐变的高度(以像素为单位)。

返回:
类型 说明
HTMLElement 返回用于在 DOM 中显示的颜色渐变的预览。
示例:
const colors = [
  "#d6ffe1",
  "#8ceda6",
  "#2ee860",
  "#00e33d"
];

const colorRamp = symbolUtils.renderColorRampPreviewHTML(colors, {
  align: "vertical"
});

body.appendChild(colorRamp);
// Primary color scheme from colorSchemes.getSchemes()
const schemes = colorSchemes.getSchemes({
  basemap: "tianditu-image",
  geometryType: "polygon",
  theme: "above-and-below"
});

const colorRamp = symbolUtils.renderColorRampPreviewHTML(schemes.primaryScheme.colors, {
  align: "horizontal"
});

body.appendChild(colorRamp);
renderPreviewHTML(symbol, options){Promise<HTMLElement>}

生成可以在自定义小部件或其他 DOM 元素中显示的给定符号的预览图像。

参数:
规格:
symbol Symbol

要为其生成预览图像的符号。

options Object
optional

符号预览图像的格式选项。

规格:
optional

要附加到符号的父节点。

optional

使用数字为表示点的任何符号设置符号预览的大小(以磅为单位)。从版本 4.23 开始,您可以在为 SimpleLineSymbol 和 SimpleFillSymbol 创建预览时提供具有宽度和高度属性的对象。

规格:
width Number
optional

SimpleLineSymbol 或 SimpleFillSymbol 预览的宽度(以磅为单位)。SimpleFillSymbol 的预览必须在 symbolConfig 中启用 isSquareFill 才能使该属性生效。

height Number
optional

SimpleLineSymbol 或 SimpleFillSymbol 预览的高度(以磅为单位)。SimpleFillSymbol 的预览必须在 symbolConfig 中启用 isSquareFill 才能使该属性生效。

maxSize Number
optional

符号预览的最大大小(以磅为单位)。

opacity Number
optional

symbol 表示的图层的不透明度。 必须是 0 到 1 之间的数字。

scale Boolean
optional
默认值:true

当为 true 时,符号预览的大小将在整个符号的测量中包括轮廓。 当为 false 时,符号预览将不包括尺寸测量中的轮廓,从而匹配视图中的符号大小。

disableUpsampling Boolean
optional

表示是否禁用光栅图像的上采样。

symbolConfig Object|String
optional

用于设置填充符号预览形状的选项。这可以是单个字符串值(tall 是唯一的选项),也可以是具有配置选项的对象。有关可用配置选项的详细信息,请参见下表。

可能的值:"tall"

规格:
isTall Boolean
optional
默认值:false

为纵向视图中的“高”符号设置为 true。这通常用于 3D 圆柱对象符号。

isSquareFill Boolean
optional
默认值:false

设置为 true 以将预览呈现为正方形而不是通用面形状。

rotation Number
optional

符号的旋转。

返回:
类型 说明
Promise<HTMLElement> 返回给定符号的预览以显示到 DOM。
示例:
// symbol from SimpleRenderer;
const symbol = layer.renderer.symbol.clone();

symbolUtils.renderPreviewHTML(symbol, {
  node: document.getElementById("preview"),
  size: 8
});

Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.