<?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 Re: Create legend from scratch in ArcGIS JavaScript Maps SDK Questions</title>
    <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/create-legend-from-scratch/m-p/476287#M44241</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi Curt,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Instead of using the icon url, why not using &lt;/SPAN&gt;&lt;STRONG&gt;imageData&lt;/STRONG&gt;&lt;SPAN&gt; directly to save some client-server round traffic? For your reference, below is the excerpt of the JSON string returned from the legend request.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
var legendResponse = {
 "layers": [{
&amp;nbsp;&amp;nbsp; "layerId": 0,
&amp;nbsp;&amp;nbsp; "layerName": "ROW",
&amp;nbsp;&amp;nbsp; "layerType": "Feature Layer",
&amp;nbsp;&amp;nbsp; "minScale": 1000000,
&amp;nbsp;&amp;nbsp; "maxScale": 0,
&amp;nbsp;&amp;nbsp; "legend": [{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "label": "",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "url": "393c5a8cc17bc07be57e6aedb7519a27",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;"imageData"&lt;/STRONG&gt;: "iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IB2cksfwAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAENJREFUOI1jYaAyYGFgYGAoWMHwnxqGTYhgYGShhkHIAMXACREMjOQYguxD2rpw1MBRA0cNHB4GUqNcpI0LyS0HsQEAa34JUaZbYooAAAAASUVORK5CYII=",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "contentType": "image/png"
&amp;nbsp;&amp;nbsp;&amp;nbsp; }]
&amp;nbsp; },&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Here is the code to build an image node.&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;var layerLegend = legendResponse.layers[0].legend;
legendImgNode = domConstruct.create("img", {
&amp;nbsp;&amp;nbsp;&amp;nbsp; src: "data:" + layerLegend.contentType + ";base64," + layerLegend.imageData
});&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sat, 11 Dec 2021 21:03:24 GMT</pubDate>
    <dc:creator>JasonZou</dc:creator>
    <dc:date>2021-12-11T21:03:24Z</dc:date>
    <item>
      <title>Create legend from scratch</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/create-legend-from-scratch/m-p/476283#M44237</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I need to develop a legend/TOC that has both layer toggling and the symbols for each layer, just like you would see in ArcGIS Desktop.&amp;nbsp; I've already looked at the 3rd-party TOC widget and while it's a neat solution it doesn't fully satisfy our needs.&amp;nbsp; What I'd really like to learn is how that widget and also the legend dijit are mining the symbols for each layer in a map service.&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I did some digging and I have found the image URL for point layers in REST.&amp;nbsp; That one was easy.&amp;nbsp; After some experimenting I was able to harvest those images using the URL and inject them into my own legend pane.&amp;nbsp; But there does not appear to be symbol URLs for polygon or polyline layers in REST.&amp;nbsp; Instead I found the JSON where fill and outline properties are given, but this only applies to polygon layers.&amp;nbsp; I was able to dynamically build my own polygon symbol from the JSON using canvas in HTML 5.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;So that leaves polylines and for whatever reason the JSON for polylines in REST is worthless.&amp;nbsp; I have a line layer that is a wide yellow stroke with a narrower black stroke in the middle, but you'd never know that looking at the JSON which says the line is a simple black stroke only.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Does anyone know how the legend dijit and TOC widgets are mining the graphics for each map service layer?&amp;nbsp; Is it somewhere in REST or what?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 24 Sep 2013 11:40:18 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/create-legend-from-scratch/m-p/476283#M44237</guid>
      <dc:creator>CurtWalker</dc:creator>
      <dc:date>2013-09-24T11:40:18Z</dc:date>
    </item>
    <item>
      <title>Re: Create legend from scratch</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/create-legend-from-scratch/m-p/476284#M44238</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;May have answered my own question...&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Previously I was getting the JSON for each layer in a map service this way:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&lt;A class="jive-link-external-small" href="http://" rel="nofollow" target="_blank"&gt;http://&lt;/A&gt;&lt;SPAN&gt;&amp;lt;yourserver&amp;gt;/arcgis/rest/services/&amp;lt;servicename&amp;gt;/MapServer/6?f=pjson&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Only point symbol URLs are exposed this way though.&amp;nbsp; Apparently the full legend is exposed here:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&lt;A class="jive-link-external-small" href="http://" rel="nofollow" target="_blank"&gt;http://&lt;/A&gt;&lt;SPAN&gt;&amp;lt;yourserver&amp;gt;/arcgis/rest/services/&amp;lt;servicename&amp;gt;/MapServer/legend&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;...and the JSON for the legend can be reached here:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&lt;A class="jive-link-external-small" href="http://" rel="nofollow" target="_blank"&gt;http://&lt;/A&gt;&lt;SPAN&gt;&amp;lt;yourserver&amp;gt;/arcgis/rest/services/&amp;lt;servicename&amp;gt;/MapServer/legend?f=json&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Still need to figure out how to target a specific layer ID amongst within the JSON and get back the URL.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 24 Sep 2013 12:03:00 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/create-legend-from-scratch/m-p/476284#M44238</guid>
      <dc:creator>CurtWalker</dc:creator>
      <dc:date>2013-09-24T12:03:00Z</dc:date>
    </item>
    <item>
      <title>Re: Create legend from scratch</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/create-legend-from-scratch/m-p/476285#M44239</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Do you mean the url of the icon? each layer should have one with the url ending with:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;MapServer/id/images/urlfromJson&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;you also get binary image data&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 24 Sep 2013 12:17:15 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/create-legend-from-scratch/m-p/476285#M44239</guid>
      <dc:creator>ZachLiu1</dc:creator>
      <dc:date>2013-09-24T12:17:15Z</dc:date>
    </item>
    <item>
      <title>Re: Create legend from scratch</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/create-legend-from-scratch/m-p/476286#M44240</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Zach, yeah that's exactly what I was after.&amp;nbsp; Experimented some more and got it to work.&amp;nbsp; Using the response from my ajax call to the JSON in a loop that iterates through each sublayer id as i:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;result.layers&lt;I&gt;.legend[0].url&lt;/I&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;My custom legend/TOC is working with this approach.&amp;nbsp; Thanks.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 24 Sep 2013 12:24:39 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/create-legend-from-scratch/m-p/476286#M44240</guid>
      <dc:creator>CurtWalker</dc:creator>
      <dc:date>2013-09-24T12:24:39Z</dc:date>
    </item>
    <item>
      <title>Re: Create legend from scratch</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/create-legend-from-scratch/m-p/476287#M44241</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi Curt,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Instead of using the icon url, why not using &lt;/SPAN&gt;&lt;STRONG&gt;imageData&lt;/STRONG&gt;&lt;SPAN&gt; directly to save some client-server round traffic? For your reference, below is the excerpt of the JSON string returned from the legend request.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
var legendResponse = {
 "layers": [{
&amp;nbsp;&amp;nbsp; "layerId": 0,
&amp;nbsp;&amp;nbsp; "layerName": "ROW",
&amp;nbsp;&amp;nbsp; "layerType": "Feature Layer",
&amp;nbsp;&amp;nbsp; "minScale": 1000000,
&amp;nbsp;&amp;nbsp; "maxScale": 0,
&amp;nbsp;&amp;nbsp; "legend": [{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "label": "",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "url": "393c5a8cc17bc07be57e6aedb7519a27",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;"imageData"&lt;/STRONG&gt;: "iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IB2cksfwAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAENJREFUOI1jYaAyYGFgYGAoWMHwnxqGTYhgYGShhkHIAMXACREMjOQYguxD2rpw1MBRA0cNHB4GUqNcpI0LyS0HsQEAa34JUaZbYooAAAAASUVORK5CYII=",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "contentType": "image/png"
&amp;nbsp;&amp;nbsp;&amp;nbsp; }]
&amp;nbsp; },&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Here is the code to build an image node.&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;var layerLegend = legendResponse.layers[0].legend;
legendImgNode = domConstruct.create("img", {
&amp;nbsp;&amp;nbsp;&amp;nbsp; src: "data:" + layerLegend.contentType + ";base64," + layerLegend.imageData
});&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 21:03:24 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/create-legend-from-scratch/m-p/476287#M44241</guid>
      <dc:creator>JasonZou</dc:creator>
      <dc:date>2021-12-11T21:03:24Z</dc:date>
    </item>
    <item>
      <title>Re: Create legend from scratch</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/create-legend-from-scratch/m-p/476288#M44242</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;If you're looking for something simple, I'm working on something similar that uses a legend widget for each layer and can be styled.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;A href="http://driskull.github.io/arcgis-dijit-layer-legend-js/"&gt;http://driskull.github.io/arcgis-dijit-layer-legend-js/&lt;/A&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 24 Sep 2013 22:39:08 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/create-legend-from-scratch/m-p/476288#M44242</guid>
      <dc:creator>MattDriscoll</dc:creator>
      <dc:date>2013-09-24T22:39:08Z</dc:date>
    </item>
    <item>
      <title>Re: Create legend from scratch</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/create-legend-from-scratch/m-p/476289#M44243</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;You can generate legend using this code&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
function getLegendJSON() {
&amp;nbsp;&amp;nbsp;&amp;nbsp; var divLegend = dojo.byId("legendDiv");
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (divLegend.innerHTML == "") {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; divLegend.innerHTML = "Creating Legend...";
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var url = &amp;lt;&amp;lt;Your_map_Service_Url&amp;gt;&amp;gt; + "/legend";
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var requestHandle = esri.request({
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "url": url,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "content": {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "f": "json"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; },
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "callbackParamName": "callback"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; });

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; requestHandle.then(requestSucceeded, requestFailed);
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
}
function requestSucceeded(response, io) {
&amp;nbsp;&amp;nbsp;&amp;nbsp; var lyr;
&amp;nbsp;&amp;nbsp;&amp;nbsp; var htmlString = "&amp;lt;table&amp;gt;";
&amp;nbsp;&amp;nbsp;&amp;nbsp; var divLegend = dojo.byId("legendDiv");
&amp;nbsp;&amp;nbsp;&amp;nbsp; var mapURL = &amp;lt;&amp;lt;Your_map_Service_Url&amp;gt;&amp;gt;;
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (response != null &amp;amp;&amp;amp; response.layers.length &amp;gt; 0) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (var iCnt = 0; iCnt &amp;lt; response.layers.length; iCnt++) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lyr = response.layers[iCnt];
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (lyr.legend.length &amp;gt; 1) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; htmlString += "&amp;lt;tr&amp;gt;&amp;lt;td colspan='2' style='font-weight:bold;'&amp;gt;" + lyr.layerName + "&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;";
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (var jCnt = 0; jCnt &amp;lt; lyr.legend.length; jCnt++) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var src = mapURL + "/" + lyr.layerId + "/images/" + lyr.legend[jCnt].url;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var strlbl = lyr.legend[jCnt].label.replace("&amp;lt;Null&amp;gt;", "Null");
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; htmlString += "&amp;lt;tr&amp;gt;&amp;lt;td align='left'&amp;gt;&amp;lt;img src=\"" + src + "\" alt ='' /&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;" + strlbl + "&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;";
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; htmlString += "&amp;lt;tr&amp;gt;&amp;lt;td colspan='2' class='tdLayerHeader' style='font-weight:bold;'&amp;gt;" + lyr.layerName + "&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;";
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var src = mapURL + "/" + lyr.layerId + "/images/" + lyr.legend[0].url;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; htmlString += "&amp;lt;tr&amp;gt;&amp;lt;td colspan='2' &amp;gt;&amp;lt;img src=\"" + src + "\" alt ='' /&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;";
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; htmlString += "&amp;lt;/table&amp;gt;";
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; divLegend.innerHTML = htmlString;


}&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 21:03:27 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/create-legend-from-scratch/m-p/476289#M44243</guid>
      <dc:creator>VinayBansal</dc:creator>
      <dc:date>2021-12-11T21:03:27Z</dc:date>
    </item>
    <item>
      <title>Re: Create legend from scratch</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/create-legend-from-scratch/m-p/476290#M44244</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Thanks for this thread, I was able to create an ideal dynamic layer legend solution beautifully from your snippets, this was the perfect nudge I needed.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;:cool:&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 20 Nov 2013 20:31:29 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/create-legend-from-scratch/m-p/476290#M44244</guid>
      <dc:creator>NigelAlford</dc:creator>
      <dc:date>2013-11-20T20:31:29Z</dc:date>
    </item>
    <item>
      <title>Re: Create legend from scratch</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/create-legend-from-scratch/m-p/476291#M44245</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Sorry for bumping an old thread, but I'm working on this myself right now...&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&lt;SPAN&gt;I'm able to get the legend symbols fine for services we're hosting on our own server, but for my web map I'm also pulling in a couple of services from an external source.&amp;nbsp; When I go to &lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://" rel="nofollow" target="_blank"&gt;http://&lt;/A&gt;&lt;SPAN&gt;&amp;lt;mapservice&amp;gt;/legend for these external services, I'm taken to a page that says "Invalid URL".&amp;nbsp; Going through documentation of the legend API reference, I noticed this: &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;If the layers are version 10 or lower the legend is created using the ArcGIS.com legend service. In order to use the ArcGIS.com legend service your map service needs to be publicly accessible and your application must be able to access ArcGIS.com. &lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I'm not sure what version of ArcServer this source is running, but I'm assuming this has something to do with my issue (I am able to create a legend for these services via the legend dijit).&amp;nbsp; If they are running something before 10.0 SP1, does that mean I can't get the legend symbol for these layers via esri.request?&amp;nbsp; Is there still a way I can obtain the legend symbol?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 12 Feb 2014 13:59:36 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/create-legend-from-scratch/m-p/476291#M44245</guid>
      <dc:creator>BrettGreenfield__DNR_</dc:creator>
      <dc:date>2014-02-12T13:59:36Z</dc:date>
    </item>
  </channel>
</rss>

