首页 > 解决方案 > 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.

有什么建议吗?谢谢你。

标签: arcgis-js-apiesri-loader

解决方案


假设您正在使用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.

ArcGIS API - 来自 JSON 的图形


推荐阅读