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

398
Visualizações
Cómo restablecer un mapa de folleto después de un caso en JS

Hola, tengo el siguiente problema: tengo un mapa en folleto vinculado a una función de cambio en jquery, dependiendo de la ID que recibo en el "select" de la consulta anterior, el caso se ingresa a continuación en JS:

 //First the map var map = L.map('map').setView([XXXX, XXXXX], 12); L.tileLayer('http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', { attribution: 'Map data &copy; <a href="http://openstreetmap.org">OpenStreetMap</a> contributors, <a href="http://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, Imagery © <a href="http://cloudmade.com">CloudMade</a>', minZoom: 12, maxZoom: 100 }).addTo(map); function popup(feature, layer) { if (feature.properties && feature.properties.COMUNA) { layer.bindPopup( "<strong>" + "INF.EX: " + "</strong>" + feature.properties.INF); } }; //Finish the map //Start the CASE $("body").on("change", "[name=EXAMPLE]", function () { var NUM = $('#EXAMPLE').val(); switch (NUM) { case '1': map.setView([XXXX, XXXX], 15,{ animate: true }); var examplemap= L.geoJson(EXAMPLE_01, { onEachFeature: popup }); L.geoJson(EXAMPLE01).addTo(map); examplemap.addTo(map); break; case '2': map.setView([XXXX, XXXX], 15,{ animate: true }); var examplemap= L.geoJson(EXAMPLE_02, { onEachFeature: popup }); L.geoJson(EXAMPLE02).addTo(map); examplemap.addTo(map); break; }});

Al momento de elegir otro caso (Almacenado en un select en HTML) los datos que me dio el primer caso que he elegido siguen almacenados en el mapa, como podría hacer para que estos datos que están en el mapa sean borrados para que ¿Se aplica el otro caso?

Si hay necesidad de otra parte del código o si hay alguna inconsistencia, me lo pueden decir, ¡gracias!

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Para restablecer todo en su mapa, puede usar el método eachLayer de su mapa, para eliminar todas las capas agregadas previamente:

 map.eachLayer((layer) => { layer.remove(); });

[EDITAR] Para eliminar solo una capa específica, debe realizar un seguimiento de ella:

 var map = L.map('map').setView([XXXX, XXXXX], 12); var myLayer = new L.LayerGroup(); myLayer.addTo( map ); [...] $("body").on("change", "[name=EXAMPLE]", function () { [...] switch (NUM) { case '1': [...] // remove everything from your layer (you should move this to a function) myLayer.eachLayer((layer) => { layer.remove(); }); // and then instead of adding to your map, add the layer to your myLayer examplemap.addTo(myLayer); break; [...] // Same thing in the other case(s) [...]
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