Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

232
Vistas
Eliminar las últimas 2 adiciones a un grupo de funciones en el folleto

Tengo un grupo de funciones que agrega marcadores circulares y rutas: se agregan en secuencia y necesito una forma de crear una función que elimine el último (2) en las _capas cada vez que se hace clic.

Intenté cortar pero eso no funciona porque en realidad no es una matriz.

¿Alguna idea sobre cómo proceder? He estado buscando stackoverflow por un tiempo y no puedo encontrar nada que coincida con lo que estoy tratando de hacer.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Simplemente consultemos la documentación del folleto:

Puede utilizar los métodos que proporciona layerGroup/featureGroup para eliminar las dos últimas capas del grupo.

  • El método getLayers devuelve una matriz de todas las capas agregadas al grupo .
  • El método eachLayer itera sobre las capas del grupo, especificando opcionalmente el contexto de la función iteradora .
  • El método removeLayer elimina la capa con el ID interno dado del grupo .

El grupo de funciones de featureGroup es una extensión del grupo de layerGroup , por lo que todos estos también funcionarán en el featureGroup de funciones.

Entonces, digamos que tiene sus capas configuradas así:

 // Layers: var layers = L.layerGroup().addTo(map); var marker = L.marker([51.5, -0.09]).addTo(layers); var circle = L.circle([51.508, -0.11], { color: 'red', fillColor: '#f03', fillOpacity: 0.5, radius: 500, }).addTo(layers); var polygon = L.polygon([ [51.509, -0.08], [51.503, -0.06], [51.51, -0.047], ]).addTo(layers);

Puede usar esos métodos de layerGroup para eliminar los dos últimos elementos de la matriz:

 // Pass the layerGroup to the function function removeLastTwo(layerGroup) { // Use getLayers to get the array var layerArr = layerGroup.getLayers(); var minusOne = layerArr.length - 1; var minusTwo = layerArr.length - 2; // Use eachLayer to iterate the layerGroup layerGroup.eachLayer((layer) => { // Grab the index of the layer var layerIndex = layerArr.indexOf(layer); // Remove the last two elements of the layerGroup array if (layerIndex === minusOne || layerIndex === minusTwo) { layerGroup.removeLayer(layer); } }); }

Aquí hay un ejemplo en vivo , con esta función adjunta al detector de eventos de clic de un botón.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda