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 Maps SDK for JavaScript 4.11

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

方法概述

名称 返回值类值 描述 对象
Promise<Color>

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

更多详情
symbolUtils
Promise<Symbol>

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

更多详情
symbolUtils
HTMLElement

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

更多详情
symbolUtils
Promise<HTMLElement>

生成给定符号的预览图像,该符号显示在自定义微件或其他 DOM 元素中。

更多详情
symbolUtils

方法详细说明

getDisplayedColor(graphic, options){Promise<Color>}
起始版本:GeoScene Maps SDK 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>}

返回表示输入图形的符号。当您需要知道图形符号的确切视觉属性时,此方法很有用,特别是当图形来自 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 Maps SDK 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: "gray-vector",
  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 开始,在为简单符号创建符号预览时,可以提供有宽度和高度属性的对象。在版本 4.25 中,所有符号都支持宽度和高度属性。

规范
width Number
optional

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

height Number
optional

符号预览的高度,以磅为单位。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

符号的旋转。

overrideText String
optional

自 4.25 起,将在 TextSymbol 的符号预览中显示的文本。这将覆盖符号上定义的任何现有文本。

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

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

您的浏览器不再受支持。请升级您的浏览器以获得最佳体验。请参阅浏览器弃用帖子以获取更多信息