尝试一下在线预览此示例演示如何使用 CIMSymbol 在 GraphicsLayer上设置点图形的样式。
该应用程序使用 SketchViewModel 允许用户添加新 Graphics。用户可以通过从右上角工具栏中选择相应的工具来选择使用数字或字母来表示新图形。以下片段显示了如何将图形添加到地图中。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// 在触发 sketchViewModel 创建完成事件时调用。
function addGraphic(event) {
if (event.state === "complete") {
const cimSymbol = {
type: "cim",
// 获取定义 CIMPointSymbol 的 JSON 数据
data: {
type: "CIMSymbolReference",
symbol: getPointSymbolData()
}
};
graphicsLayer.remove(event.graphic);
const newGraphic = new Graphic({
geometry: event.graphic.geometry,
symbol: cimSymbol
});
graphicsLayer.add(newGraphic);
sketchViewModel.create("point");
}
}
CIMSymbol 数据是从 getPointSymbolData()
方法创建的,该方法每次调用 CIMSymbol 中的 CIMTextSymbol
上的 textString
字段的值都会加一。有关详细信息,请参阅 CIM 规范。