8 votos

La construcción de una costumbre, la dinámica de la leyenda utilizando ArcGis server js y dynamicMapServiceLayer

Tengo un dynamicMapServiceLayer que estoy utilizando para construir un mapa de la aplicación. Hay alrededor de 10 capas en el mapservice que estoy alternando el uso de la setVisibleLayers acción.

Me gustaría construir mi propio personalizado, dinámico leyenda del mapa. Cuando una de las capas' visibilidad es controlado, el correspondiente elemento de leyenda también hide () y show()

Mi mapServer tiene una dirección url que enlaza a una página con todos los elementos de leyenda como el de abajo, excepto la de mi leyenda de la url tiene 10 elementos de leyenda

http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Petroleum/KGS_OilGasFields_Kansas/MapServer/legend

Hay una manera que puede acceder el individuo los elementos de leyenda (Nombre y símbolo) a partir de una existente mapServer? Estoy cómodo con la construcción de la leyenda, sólo necesito saber cómo acceder a las capas de símbolos que a continuación, voy a anexar a una leyenda de diálogo.

También debo mencionar que estoy evitando el uso de DOJO y el uso de puro javascript y jQuery.

7voto

gnuanu Puntos 101

Si usted tiene acceso a ese servicio a través de la API de REST:

http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Petroleum/KGS_OilGasFields_Kansas/MapServer/legend?f=json&pretty=true

Usted puede conseguir el JSON con jQuery http://api.jquery.com/jQuery.getJSON/ A fin de construir su propia leyenda de que los datos que se han obtenido.

Para agregar la leyenda de símbolos, puede utilizar jQuery para crear un img, y de insertar cada elemento de leyenda del contentType y imageData en el src para representar el símbolo.

http://stackoverflow.com/questions/5000710/receive-image-data-as-json-and-injecting-it-into-the-dom/5000778#5000778

Sentido?

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X