Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

240
Visualizações
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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda