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

394
Vistas
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 Respuestas
Responde la pregunta

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 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