Hi,
There is no order by geometry type in a legend created with a legend widget.
How layers can be ordered? Generally, we need to implement the rule:
- points
- lines
- polygons
bottom - polygons.
Any help will be appreciated.
See this discussion: https://community.esri.com/message/80485
Thank you for response, Panagiotis Papadopoulos.
Unfortunately, we have no geometry type when working with ArcGISDynamicMapServiceLayer.
So, how we obtain that geometryType?
this is a sample code
...... //add the legend map.on("layers-add-result", function (evt) { var layerInfoLines = []; arrayUtils.map(evt.layers, function (layer, index) { if (layer.layer.geometryType === "esriGeometryPolyline"){ layerInfoLines.push({layer:layer.layer, title:layer.layer.name}); } }); var layerInfoPolygons = []; arrayUtils.map(evt.layers, function (layer, index) { if (layer.layer.geometryType === "esriGeometryPolygon"){ layerInfoPolygons.push({layer:layer.layer, title:layer.layer.name}); } }); var layerInfo = layerInfoPolygons.concat(layerInfoLines); if (layerInfo.length > 0) { var legendDijit = new Legend({ map: map, layerInfos: layerInfo }, "legendDiv"); legendDijit.startup(); } });
.....
and here see a live sample
Edit fiddle - JSFiddle
the property define the layer order on Legend Widget according to the Javascript Help is the LayerInfos
see below.
<SPAN class=""><A href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object" style="color: #00629b;" rel="nofollow noopener noreferrer">Object[]</A></SPAN>
layerInfos
So during the layer load on the map change the layer order.
Membros conectados podem postar, seguir atualizações e mais. Novo aqui? Registre uma conta gratuita.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.