ArcGIS Experience Builder中的动态图层配置
在使用ArcGIS Experience Builder开发基于React的自定义组件时,动态加载地图图层的配置是一个常见的需求。在本文中,我们将探讨如何在Experience Builder中从config.json
文件动态加载地图图层,并解决相关的问题。
问题描述
当我们使用硬编码的图层配置时,组件工作得非常好。但是,当我们尝试从config.json
文件加载这些配置时,图层无法被正确添加到地图中,导致以下错误:
[esri.WebMap] #add() The item being added is not a Layer or a Promise that resolves to a Layer.
问题分析
从提供的代码和错误信息来看,问题出在图层对象的类型上。props.config.layers
被类型化为了ImmutableObject
,这可能导致在处理时增加了不必要的属性,使得这些对象无法被识别为有效的图层。
解决方案
要解决这个问题,我们需要确保从config.json
文件读取的配置数据是一个普通的JavaScript对象,而不是一个不可变对象(