4 votos

Orden capa GeoJSON en folleto 0.7.5

Estoy desarrollando una aplicación web que reúne una serie de tileLayers y geoJSON capas. Para los instaladores he sido capaz de hacer similar a este JSFiddle en que las capas aparecen depening en sus zIndex valor independientemente de la capa que se llamó en el pasado.

Yo pensaba que iba a ser capaz de hacer lo mismo para geoJSONS, sin embargo cuando puedo agregar/ quitar las capas, la última capa que se añade en la que aparece en la parte superior, a pesar de que el orden en el que han sido escritas.

Después de comprobar a través de la documentación estoy a entender que la zIndex parámetro sólo se aplica a tileLayers y al menos en la versión 0.7.5 no se puede utilizar con geoJSON.

He leído que una posible solución es el uso de la bringToFront/Back() método, sin embargo, esto no parece funcionar y no me puedo imaginar proporcionará la mejor solución para la lectura en una gran cantidad de geoJSONS.

Si no hay ningún método oficial con 0.7.5 hay al menos una solución? He estado llevando en el geoJSONS como a continuación.

var testLayer = new L.geoJson(json_testdata, {
style: testStyle
});
testLayer.addData(json_testdata);

Actualización: Este es un JSFiddle que muestra la tileLayers de trabajo con un ZIndex, sin embargo, cuando el GeoJSON capas se agregan y quitan el último en agregarse va en la parte superior. Es posible mantener las capas de la posición? es decir, el orden en que está escrito o la asignación de un equivalente a un ZIndex?

1voto

ghybs Puntos 868

Como Thomas y nathansnider señaló en los comentarios, capas vectoriales son limitados en términos de manipulación de la orden de pila por el uso de SVG representación en el Folleto de 0.7.x.

Pero básicamente, SVG representa los vectores de la forma en que están en el DOM, y bringToFront/Back() no hacen nada más que anexando/anteponiendo los caminos dentro de la DOM.

Si usted está listo para trastear con el Prospecto de los objetos internos, entonces debería ser posible insertar sus vectores en la posición deseada.

Demo: https://jsfiddle.net/x36qkk3c/8/

La demo emula el uso de "zIndex" para volver a la orden de los vectores. Ya que está construido en la cima de su ejemplo, se utiliza el IDENTIFICADOR para determinar un zIndex.

Usted podría optimizar el algoritmo de ordenación por lo que es más rápido para grandes colecciones de características. Usted podría incluso considerar la posibilidad de hacer un pequeño plugin para ayudar a otras personas que se enfrentan a una necesidad similar.

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