arcgis-js-api - esri 将图形从 json 添加到图形层给出错误
问题描述
您好我正在尝试将图形添加到图形层。这就是问题所在。
我从草图视图模型创建函数得到 json 结果,它是图形的。
我将它存储到新的 jsonobject 中。然后我尝试手动将此图形添加到图形层中。但它给出的错误。
这是json
{
"geometry":{
"spatialReference":{
"latestWkid":3857,
"wkid":102100
},
"x":243208.09643883476,
"y":2940285.766420703,
"z":351.9580905416081
},
"symbol":{
"type":"point-3d",
"symbolLayers":[
{
"type":"Icon",
"material":{
},
"resource":{
"primitive":"kite"
},
"size":15,
"outline":{
"color":[
0,
0,
0
],
"size":2.25
}
}
]
},
"attributes":{
},
"popupTemplate":null
}
此代码给出错误
const [Graphic] = await loadModules(["esri/Graphic"]);
let g = new Graphic(data); // data which is json i gave.
有什么建议吗?谢谢你。
解决方案
假设您正在使用toJSON
方法Graphic
来生成 json 对象(在您的示例中data
)。那么Graphic
从 json 对象创建 a 的正确方法是使用“reverse”方法fromJSON
。像这样的东西应该工作,
const [Graphic] = await loadModules(["esri/Graphic"]);
// here use fromJSON method to create the graphic
let g = Graphic.fromJSON(data); // data which is json i gave.
推荐阅读
- amazon-web-services - ACM 中无法删除的证书 - 附加到 AWS 内部资源
- javascript - 如何在 react-chartjs-2 中的图表标签上添加 onclick 事件?
- apache-spark - 如何根据spark中给定的输入文件大小计算执行器、内核和内存?
- electron - 打包后电子vue-vite不工作?
- vlang - 结构必须有一个 `next()` 方法才能成为迭代器
- c# - 在 webbrowser 中查找元素并分别在 csharp 中添加到列表框
- sql - ORA-02292: 违反完整性约束 - 找到子记录 - PLSQL
- react-hooks - 倒数计时器变为负数
- c# - 用逻辑运算符确定差异
- stored-procedures - 动态 SQL 日期标头