dojo.forEach(map.layerIds, function(layerId) { var legendRequest = esri.request({ url: map.getLayer(layerId).url + "/legend?f=json", handleAs: "json" }); legendRequest.then( // if the legend REST service succeeds, create the placeholder for each layer legend function(data) { if (data && data.layers && data.layers.length > 0) { // create the placeholder for each layer legend loadLegend(data.layers, layerId); } }, function(error) { console.log(error); }); }); // legendNode is the container node for the legend loadLegend: function(layers, svcLayerId) { dojo.forEach(layers, function(layer) { var legends = layer.legend; if (legends.length > 0) { var newLegendContainer = dojo.create("div", {className: "clsLegendNodeContainer"}, legendNode); var newLegendLayerName = dojo.create("div", {className: "clsLegendLayerName", innerHTML: layer.displayName || layer.layerName}, newLegendContainer); var newLegend, newLabel, imageSrc; dojo.forEach(legends, function(aLegend) { newLegend = dojo.create("div", {className: "clsLayerLegend"}, newLegendContainer); imageSrc = "data:" + aLegend.contentType + ";base64," + aLegend.imageData; dojo.create("img", {src: imageSrc}, newLegend); dojo.create("label", {className: "clsLegendLabel", innerHTML: aLegend.label}, newLegend); }); } }); }
Angemeldete Mitglieder können Beiträge verfassen, Updates folgen und mehr. Neu hier? Registriere ein kostenloses Konto.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.