es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Folleto zIndex en panel personalizado entre TileLayer, Geojson

Estoy organizando varias capas con una interfaz que permite la toma de decisiones de orden. Por ejemplo, tengo 3 capas:

  1. Capa WMS, orden: 3
  2. Capa Geojson: orden 2
  3. Capa WMS, orden: 1

Soy capaz de ordenar las capas WMS con la propiedad zIndex. Sin embargo, la capa Geojson no puede caber entre ellas.

El concepto Leaflet.Pane + un Pane personalizado fue algo que intenté, esto ayuda a mover las capas personalizadas por encima de todo, por ejemplo. Pero dentro de este panel personalizado, no puedo asignar un orden a la capa Geojson (svg).

En este ejemplo, los tileLayers y geoJSON están en el mismo panel personalizado. Dentro de este panel, quiero cambiar el orden de las capas basándome en una propiedad (por ejemplo, zIndex). Pero no encuentro cómo hacerlo con una combinación TileLayer <> Geojson.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para ordenar las capas dentro de un panel personalizado, puede utilizar los métodos bringToFront() y bringToBack() en el objeto de la capa. En el ejemplo dado, puede agregar primero la capa GeoJSON al panel personalizado y luego utilizar el método bringToFront() para moverla al frente del panel según la propiedad zIndex:

    const geoJSONLayer = L.geoJSON(data).addTo(customPane);
    geoJSONLayer.bringToFront();
    

    De manera similar, también puede utilizar los métodos bringToFront() y bringToBack() en las capas de teselas WMS para establecer su orden según la propiedad zIndex. ¡Espero que esto ayude!

Comments are closed.