Recientemente he creado un mapa web que utiliza el fragmento de leyenda del sitio web de la API JavaScript de ESRI. https://developers.arcgis.com/en/jav...et_legend.html
Funciona muy bien en su mayor parte, pero tiene un problema, hay entradas duplicadas en la leyenda. El resto de los servicios que estoy utilizando están simbolizados correctamente sin duplicados. El método que estoy utilizando para añadir los servicios al mapa es a través de una capa de características.
Este es el código exacto en mi archivo .js.
dojo.connect(myMap, 'onLayersAddResult', function (results) {
var layerInfo = dojo.map(results, function (layer, index) {
return { layer: layer.layer, title: layer.layer.name };
});
if (layerInfo.length > 0) {
var legendDijit = new esri.dijit.Legend({
map: myMap,
layerInfos: layerInfo},
"legendDiv");
legendDijit.startup();
}
});
//Layers are added to map
myMap.addLayers([featureLayer1, DMSL_StudyArea]);
Cualquier información sería de ayuda.
Gracias
1 votos
Bienvenido al foro de SE.GIS. Tal vez creo que dos capas que ha añadido en el último uso addlayer método tiene pocos campos comunes que es la razón por la que está recibiendo leyendas duplicadas. Intente añadir una sola capa y luego compruebe. El código de la leyenda es perfecto.
0 votos
Gracias por tu comentario, Sunil. Yo mismo me preguntaba sobre el método addLayer, pero si las cosas se están añadiendo dos veces, ¿no se repetirían todos los elementos de la leyenda en lugar de los particulares? Todos los elementos que se ven en la imagen son de un servicio/mxd sentado en nuestro ArcGISServer.
2 votos
Si es posible, por favor ponga su código en jsfiddle para que podamos comprobarlo.
1 votos
El servidor no funcionará en su extremo porque está dentro de nuestra red por ahora. Tampoco tengo forma de hacer públicos los servicios por cuestiones de privacidad. En cualquier caso, aquí está el enlace al código: jsfiddle.net/xC6RH Gracias.
0 votos
A partir de ahora este es el favorito para 2 personas, ¿has encontrado la respuesta? ¿Tal vez disparar un mensaje de consola para ayudar a depurar?
0 votos
Sinceramente, se resolvió por sí solo. Volví a escribir todo ese bloque de código y lo ejecuté (como hace un año), y funcionó perfectamente. Puede que haya sido el orden en que estaba haciendo las cosas... pero no estoy seguro. Siento no haber podido ser de más ayuda.