<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Adding Feature Layers to a Group Layer in a Layer List widget using javascript api. in ArcGIS JavaScript Maps SDK Questions</title>
    <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/adding-feature-layers-to-a-group-layer-in-a-layer/m-p/288887#M26573</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&amp;nbsp;&amp;nbsp;I wanted to know if there is a way of creating a group layer hierarchy for individual feature layers in a webmap and display them in a layer list widget for a web app created using ArcGIS Javascript API 4.15 .i.e. grouping individual feature layers into group layer.&amp;nbsp; Converting :-&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-Layer1&lt;/P&gt;&lt;P&gt;-Layer 2&lt;/P&gt;&lt;P&gt;-Layer3&lt;/P&gt;&lt;P&gt;-Layer4&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;into&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-GroupLayer1&lt;/P&gt;&lt;P&gt;&amp;nbsp; -Layer 1&lt;/P&gt;&lt;P&gt;&amp;nbsp; -Layer 2&lt;/P&gt;&lt;P&gt;-GroupLayer2&lt;/P&gt;&lt;P&gt;&amp;nbsp; -Layer3&lt;/P&gt;&lt;P&gt;&amp;nbsp; -Layer4&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I did try using one of the code samples provided for creating group layers in the Javascript API reference, &lt;A class="link-titled" href="https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-GroupLayer.html" title="https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-GroupLayer.html"&gt;GroupLayer | ArcGIS API for JavaScript 4.15&lt;/A&gt;, Sample-GroupLayer with LayerList widget.&amp;nbsp;&lt;A href="https://codepen.io/pen?&amp;amp;editable=true&amp;amp;editors=100"&gt;https://codepen.io/pen?&amp;amp;editable=true&amp;amp;editors=100&lt;/A&gt;. Replaced the mapserver url with feature service urls and used a FeatureLayer constructor. However this fails with the following error in the browser console.&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Uncaught (in promise) TypeError: b.load is not a function&lt;BR /&gt; at Object.d._createLayerView (dojo.js:2027)&lt;BR /&gt; at Array.forEach (&amp;lt;anonymous&amp;gt;)&lt;BR /&gt; at Object.c.forEach (dojo.js:595)&lt;BR /&gt; at a.d._doWork [as callback] (dojo.js:2023)&lt;BR /&gt; at g (dojo.js:418)&lt;BR /&gt; at dojo.js:422&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have attached a .html file showing the code that I am using for this task. The same code works for MapImage Layers but fails when using Feature Service layers.&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 25 May 2020 14:02:01 GMT</pubDate>
    <dc:creator>Anonymous User</dc:creator>
    <dc:date>2020-05-25T14:02:01Z</dc:date>
    <item>
      <title>Adding Feature Layers to a Group Layer in a Layer List widget using javascript api.</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/adding-feature-layers-to-a-group-layer-in-a-layer/m-p/288887#M26573</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&amp;nbsp;&amp;nbsp;I wanted to know if there is a way of creating a group layer hierarchy for individual feature layers in a webmap and display them in a layer list widget for a web app created using ArcGIS Javascript API 4.15 .i.e. grouping individual feature layers into group layer.&amp;nbsp; Converting :-&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-Layer1&lt;/P&gt;&lt;P&gt;-Layer 2&lt;/P&gt;&lt;P&gt;-Layer3&lt;/P&gt;&lt;P&gt;-Layer4&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;into&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-GroupLayer1&lt;/P&gt;&lt;P&gt;&amp;nbsp; -Layer 1&lt;/P&gt;&lt;P&gt;&amp;nbsp; -Layer 2&lt;/P&gt;&lt;P&gt;-GroupLayer2&lt;/P&gt;&lt;P&gt;&amp;nbsp; -Layer3&lt;/P&gt;&lt;P&gt;&amp;nbsp; -Layer4&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I did try using one of the code samples provided for creating group layers in the Javascript API reference, &lt;A class="link-titled" href="https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-GroupLayer.html" title="https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-GroupLayer.html"&gt;GroupLayer | ArcGIS API for JavaScript 4.15&lt;/A&gt;, Sample-GroupLayer with LayerList widget.&amp;nbsp;&lt;A href="https://codepen.io/pen?&amp;amp;editable=true&amp;amp;editors=100"&gt;https://codepen.io/pen?&amp;amp;editable=true&amp;amp;editors=100&lt;/A&gt;. Replaced the mapserver url with feature service urls and used a FeatureLayer constructor. However this fails with the following error in the browser console.&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Uncaught (in promise) TypeError: b.load is not a function&lt;BR /&gt; at Object.d._createLayerView (dojo.js:2027)&lt;BR /&gt; at Array.forEach (&amp;lt;anonymous&amp;gt;)&lt;BR /&gt; at Object.c.forEach (dojo.js:595)&lt;BR /&gt; at a.d._doWork [as callback] (dojo.js:2023)&lt;BR /&gt; at g (dojo.js:418)&lt;BR /&gt; at dojo.js:422&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have attached a .html file showing the code that I am using for this task. The same code works for MapImage Layers but fails when using Feature Service layers.&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 25 May 2020 14:02:01 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/adding-feature-layers-to-a-group-layer-in-a-layer/m-p/288887#M26573</guid>
      <dc:creator>Anonymous User</dc:creator>
      <dc:date>2020-05-25T14:02:01Z</dc:date>
    </item>
    <item>
      <title>Re: Adding Feature Layers to a Group Layer in a Layer List widget using javascript api.</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/adding-feature-layers-to-a-group-layer-in-a-layer/m-p/288888#M26574</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi &lt;A href="https://community.esri.com/migrated-users/384033" target="_blank"&gt;Puthran Joshua&lt;/A&gt;‌,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please see the sample below.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I did take a basic tutorial from Esri -&amp;nbsp;&lt;A class="link-titled" href="https://developers.arcgis.com/javascript/latest/guide/add-layers-to-a-map/" title="https://developers.arcgis.com/javascript/latest/guide/add-layers-to-a-map/" rel="nofollow noopener noreferrer" target="_blank"&gt;Add layers to a map | ArcGIS API for JavaScript 4.15&lt;/A&gt;&amp;nbsp; - and extend this with a LayerList widget and a GroupLayer, just to prove that it is possible to add FeatureLayers to a GroupLayer.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;From here you could extend the application further, with your own data of course.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope this helps.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;BR,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Egge-Jan&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;CODE&gt;&lt;SPAN class="operator token"&gt;&amp;lt;&lt;/SPAN&gt;html&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt;
&lt;SPAN class="operator token"&gt;&amp;lt;&lt;/SPAN&gt;head&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt;
  &lt;SPAN class="operator token"&gt;&amp;lt;&lt;/SPAN&gt;meta charset&lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;"utf-8"&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt;
  &lt;SPAN class="operator token"&gt;&amp;lt;&lt;/SPAN&gt;meta name&lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;"viewport"&lt;/SPAN&gt; content&lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;"initial-scale=1, maximum-scale=1, user-scalable=no"&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt;
  &lt;SPAN class="operator token"&gt;&amp;lt;&lt;/SPAN&gt;title&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt;ArcGIS JavaScript Tutorials&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt; Add a GroupLayer to a LayerList widget&lt;SPAN class="operator token"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;/&lt;/SPAN&gt;title&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt;
  &lt;SPAN class="operator token"&gt;&amp;lt;&lt;/SPAN&gt;link rel&lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;"stylesheet"&lt;/SPAN&gt; href&lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;"https://js.arcgis.com/4.15/esri/css/main.css"&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt;
  &lt;SPAN class="operator token"&gt;&amp;lt;&lt;/SPAN&gt;script src&lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;"https://js.arcgis.com/4.15/"&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;/&lt;/SPAN&gt;script&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt;
  &lt;SPAN class="operator token"&gt;&amp;lt;&lt;/SPAN&gt;style&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt;
    html&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; body&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; #viewDiv &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
      padding&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
      margin&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
      height&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;100&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;%&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
      width&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;100&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;%&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
    &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;
  &lt;SPAN class="operator token"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;/&lt;/SPAN&gt;style&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt;
  &lt;SPAN class="operator token"&gt;&amp;lt;&lt;/SPAN&gt;script&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt;
    &lt;SPAN class="token function"&gt;require&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;
      &lt;SPAN class="string token"&gt;"esri/Map"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;
      &lt;SPAN class="string token"&gt;"esri/views/MapView"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;
      &lt;SPAN class="string token"&gt;"esri/layers/FeatureLayer"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;
      &lt;SPAN class="string token"&gt;"esri/layers/GroupLayer"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;
      &lt;SPAN class="string token"&gt;"esri/widgets/LayerList"&lt;/SPAN&gt;
    &lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;function&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;Map&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; MapView&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; FeatureLayer&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; GroupLayer&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; LayerList&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
      
      &lt;SPAN class="keyword token"&gt;var&lt;/SPAN&gt; map &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;new&lt;/SPAN&gt; &lt;SPAN class="token class-name"&gt;Map&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
        basemap&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"topo-vector"&lt;/SPAN&gt;
      &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

      &lt;SPAN class="keyword token"&gt;var&lt;/SPAN&gt; view &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;new&lt;/SPAN&gt; &lt;SPAN class="token class-name"&gt;MapView&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
        container&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"viewDiv"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;  
        map&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt; map&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;
        center&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;118.80543&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;34.02700&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;
        zoom&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;13&lt;/SPAN&gt;            
      &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

        &lt;SPAN class="comment token"&gt;// Trailheads feature layer (points)&lt;/SPAN&gt;
      &lt;SPAN class="keyword token"&gt;var&lt;/SPAN&gt; trailheadsLayer &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;new&lt;/SPAN&gt; &lt;SPAN class="token class-name"&gt;FeatureLayer&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
        url&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"https://services3.arcgis.com/GVgbJbqm8hXASVYi/arcgis/rest/services/Trailheads/FeatureServer/0"&lt;/SPAN&gt;
      &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

      &lt;SPAN class="comment token"&gt;// Trails feature layer (lines)&lt;/SPAN&gt;
      &lt;SPAN class="keyword token"&gt;var&lt;/SPAN&gt; trailsLayer &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;new&lt;/SPAN&gt; &lt;SPAN class="token class-name"&gt;FeatureLayer&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
        url&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"https://services3.arcgis.com/GVgbJbqm8hXASVYi/arcgis/rest/services/Trails/FeatureServer/0"&lt;/SPAN&gt;
      &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

      &lt;SPAN class="comment token"&gt;// Parks and open spaces (polygons)&lt;/SPAN&gt;
      &lt;SPAN class="keyword token"&gt;var&lt;/SPAN&gt; parksLayer &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;new&lt;/SPAN&gt; &lt;SPAN class="token class-name"&gt;FeatureLayer&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
        url&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"https://services3.arcgis.com/GVgbJbqm8hXASVYi/arcgis/rest/services/Parks_and_Open_Space/FeatureServer/0"&lt;/SPAN&gt;
      &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

      &lt;SPAN class="keyword token"&gt;var&lt;/SPAN&gt; layerList &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;new&lt;/SPAN&gt; &lt;SPAN class="token class-name"&gt;LayerList&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
        view&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt; view
      &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
      &lt;SPAN class="comment token"&gt;// Adds widget below other elements in the top left corner of the view&lt;/SPAN&gt;
      view&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;ui&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;add&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;layerList&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
        position&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"top-left"&lt;/SPAN&gt;
      &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

      &lt;SPAN class="keyword token"&gt;var&lt;/SPAN&gt; myGroupLayer &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;new&lt;/SPAN&gt; &lt;SPAN class="token class-name"&gt;GroupLayer&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
        title&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"My GroupLayer"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;
        layers&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;parksLayer&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; trailsLayer&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; trailheadsLayer&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;
      &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

      map&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;add&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;myGroupLayer&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;


    &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
  &lt;SPAN class="operator token"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;/&lt;/SPAN&gt;script&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt;
&lt;SPAN class="operator token"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;/&lt;/SPAN&gt;head&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt;
&lt;SPAN class="operator token"&gt;&amp;lt;&lt;/SPAN&gt;body&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt;
  &lt;SPAN class="operator token"&gt;&amp;lt;&lt;/SPAN&gt;div id&lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;"viewDiv"&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;/&lt;/SPAN&gt;div&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt;
&lt;SPAN class="operator token"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;/&lt;/SPAN&gt;body&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt;
&lt;SPAN class="operator token"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;/&lt;/SPAN&gt;html&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt; &lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 13:57:33 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/adding-feature-layers-to-a-group-layer-in-a-layer/m-p/288888#M26574</guid>
      <dc:creator>Egge-Jan_Pollé</dc:creator>
      <dc:date>2021-12-11T13:57:33Z</dc:date>
    </item>
    <item>
      <title>Re: Adding Feature Layers to a Group Layer in a Layer List widget using javascript api.</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/adding-feature-layers-to-a-group-layer-in-a-layer/m-p/288889#M26575</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks Egge for taking the time to work on this. This worked perfectly.&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 25 May 2020 17:55:34 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/adding-feature-layers-to-a-group-layer-in-a-layer/m-p/288889#M26575</guid>
      <dc:creator>Anonymous User</dc:creator>
      <dc:date>2020-05-25T17:55:34Z</dc:date>
    </item>
    <item>
      <title>Re: Adding Feature Layers to a Group Layer in a Layer List widget using javascript api.</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/adding-feature-layers-to-a-group-layer-in-a-layer/m-p/1105292#M74897</link>
      <description>&lt;P&gt;I did this by hitting the mapserver's json endpoint then iterating through it's layers collection and using each layer's type (group or feature) determine how to process it. Using that you can build a couple functions to build an array of sublayers which you can then pass off to the layerlist. Note that you need to reverse the order of the elements in the hierarchy hence the use of unshift instead of push&lt;/P&gt;&lt;P&gt;e.g.&lt;/P&gt;&lt;LI-CODE lang="javascript"&gt;        $(function () {
            $.getJSON('ServiceDefinition.json', function (results) {
                const layers = results.layers;
                let sublayers = [];
                ///// need to keep track of removed layers
                let layerIndices = [];
                for (let i = 0; i &amp;lt; layers.length; i++) {
                    layerIndices.push(i);
                }
                /////
                for (let lyrIdx = 0; lyrIdx &amp;lt; layers.length; lyrIdx++) {
                    if (layerIndices.indexOf(lyrIdx) === -1) continue;
                    layerIndices = removeIndex(layerIndices, lyrIdx);
                    let layer = layers[lyrIdx];

                    if (layer.type === "Feature Layer") {
                        sublayers.unshift(getFeatureLayer(layer, layerIndices));
                    }
                    else {
                        let glyr = getGroupLayer(layer, layers, layerIndices);
                        if(glyr.sublayers.length &amp;gt; 0)
                            sublayers.unshift(glyr);
                    }
                    //layerIndices = removeIndex(layerIndices, lyrIdx);
                }
                $('#sublayers').html(JSON.stringify(sublayers));
            });
            function getGroupLayer(layer, layers, layerIndices) {
                let sublayer = {};
                sublayer.id = layer.id;
                sublayer.title = layer.name;
                sublayer.sublayers = [];
                for (let idx = 0; idx &amp;lt; layer.subLayerIds.length; idx++) {
                    let lyrId = layer.subLayerIds[idx];
                    if (layerIndices.indexOf(lyrId) === -1) continue;
                    layerIndices = removeIndex(layerIndices, idx);
                    let sublyr = layers[lyrId];
                    if (sublyr.type === "Feature Layer") {
                        sublayer.sublayers.unshift(getFeatureLayer(sublyr, layerIndices));
                    }
                    else {
                        let glyr = getGroupLayer(sublyr, layers, layerIndices);
                        if(glyr.sublayers.length &amp;gt; 0)
                            sublayer.sublayers.unshift(glyr);
                    }
                }
                return sublayer;
            }
            function getFeatureLayer(layer, layerIndices) {
                let sublayer = {};
                sublayer.id = layer.id;
                sublayer.title = layer.name;
                sublayer.definitionExpression = null;
                layerIndices = removeIndex(layerIndices, layer.id);
                return sublayer;
            }
            function removeIndex(indices, value) {
                
                let index = indices.indexOf(value);
                if (index &amp;gt; -1) {
                    indices.splice(index, 1);
                }
                return indices;
            }
        });&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 06 Oct 2021 18:42:25 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/adding-feature-layers-to-a-group-layer-in-a-layer/m-p/1105292#M74897</guid>
      <dc:creator>LoranHayden1</dc:creator>
      <dc:date>2021-10-06T18:42:25Z</dc:date>
    </item>
  </channel>
</rss>

