- 另请参阅
方法概述
名称 | 返回值类值 | 描述 | 对象 |
---|---|---|---|
Promise<GenerateSymbolResponse> | 更多详情 | symbolService |
方法详细说明
-
generateSymbol(url, params, requestOptions){Promise<GenerateSymbolResponse>}
-
如果在 GenerateSymbolParameters 中使用 SVG 字符串值,则必须定义 XML 命名空间 (
xmlns
)。对于在FormData
或HTMLFormElement
中定义的 SVG,表单中的元素name
必须为"svgImage"
,如下例所示。返回的 CIMSymbol 将始终是具有 CIMVectorMarker 符号图层的 CIMPointSymbol,其中
size = 10
。要更新符号的大小,请使用 cimSymbolUtils.scaleCIMSymbolTo()。参数url String表示符号服务的 GeoScene Server REST 资源的 URL。
params GenerateSymbolParameters用于将 SVG 转换为 CIM 符号的输入参数。
requestOptions RequestOptionsoptional用于数据请求的附加选项(将覆盖构造期间定义的 requestOptions)。
返回类型 描述 Promise<GenerateSymbolResponse> 使用包含 CIM 符号的生成符号方法的响应进行解析的 promise。 示例// Using a string. const svgString = ` <svg xmlns="http://www.w3.org/2000/svg" height="200" width="200"> <path d="M150 0 L75 200 L225 200 Z" /> </svg> `; const params = { svgImage: svgString }; symbolService.generateSymbol(symbolServiceUrl, params).then({symbol} => { // apply the CIMSymbol to a graphic graphicA.symbol = symbol; });
// Using FormData. const blob = new Blob([svgSymbol.trim()], { type: "image/svg+xml" }); const formData = new FormData(); formData.append("svgImage", blob, "symbol.svg"); const params = { svgImage: formData }; symbolService.generateSymbol(symbolServiceUrl, params).then({symbol} => { // apply the CIMSymbol to a graphic graphicB.symbol = symbol; });
// Using HTMLFormElement. <!-- HTML Element --> <form name="uploadForm"> <input type="file" name="svgImage" id="svgFile" /> </form> // JavaScript const uploadForm = document.forms["uploadForm"]; uploadForm.addEventListener("change", (event) => { const fileName = event.target.value.toLowerCase(); if (fileName.includes(".svg")) { const params = { svgImage: uploadForm }; symbolService.generateSymbol(symbolServiceUrl, params).then({symbol} => { // apply the CIMSymbol to a graphic graphicC.symbol = symbol; }); } });
类型定义
-
GenerateSymbolParameters Object
-
generateSymbol 方法的输入参数。
- 属性
-
svgImage String|FormData|HTMLFormElement
要转换的 SVG 图像。可以是 SVG 字符串值、表单数据或表单元素。当从
FormData
或HTMLFormElement
提供 SVG 时,表单中元素的name
必须为"svgImage"
。当从字符串提供 SVG 时,必须定义 XML 命名空间 (xmlns
)。
-
GenerateSymbolResponse Object
-
generateSymbol 方法的响应。
- 属性
-
symbol CIMSymbol
基于 generateSymbol 方法创建的 CIMSymbol。