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

77
Visualizações
filtrado de folletos por categorías de ID de capa

He adaptado este código para crear matrices de etiquetas de categoría: quiero tomar cada grupo de categoría de etiqueta y, si su segmento de referencia de etiqueta coincide con alguna característica, agregarlo como una variable por su nombre de etiqueta a una lista (para usar para filtrar marcadores)

Aquí está mi código - adaptado de aquí

 let ind00ss00test = new L.layerGroup(); console.log(ind00ss00test) let LR1test = new L.layerGroup() const subGroups1 = []; d3.json(mapsData, function(data){ industry = L.geoJSON(data, { pointToLayer: function (feature){ return new L.circleMarker([feature.geometry.coordinates[1], feature.geometry.coordinates[0]], { className: feature.properties.HASHcodePM, radius: getRadius(feature.properties.size), fillOpacity:0.8, color: getColor(feature.properties.type), fillColor: getColor(feature.properties.type), weight: getRadius(feature.properties.size)/3, }) }, onEachFeature: function(feature, layer) { layer.bindPopup("Name: " + feature.properties.Name + "<br>Type: "+ feature.properties.type) var HASHcode = feature.properties["HASHcodePM"]; var INDSShash = feature.properties.HASHcodePM.slice(0,9); //INDSS var LRhash = feature.properties.HASHcodePM.slice(9,12); //LR var tagCategories = subGroups1[HASHcode]; if (!tagCategories) { tagCategories = subGroups1[HASHcode] = L.geoJson(); } tagCategories.addLayer(layer); if (INDSShash == "IND00SS00") tagCategories.addTo(ind00ss00test); if (LRhash == "LR1") tagCategories.addTo(LR1test); }, }) });

Así que quiero tomar las etiquetas que hacen referencia a segmentos de etiquetas:

Y quiero filtrar los marcadores de las capas con la propiedad LR1 en 'overlayremove':

 const content = L.layerGroup().addTo(myMap); myMap.on('overlayadd overlayremove', () => { if (myMap.hasLayer(ind00group)) { ind00ss00test.addTo(content)) } if (myMap.hasLayer(ind99group)) { ind00ss99test.addTo(content)) } if (!myMap.hasLayer(LR1Group)) { LR1test.forEach(marker => content.removeLayer(marker)) } })

La prueba ind00ss00 se puede agregar/quitar, pero los marcadores no se filtran usando LR1test.forEach (solo necesito filtrar los marcadores de los grupos de capas agregados si se anula la selección de LR1). Entonces, esencialmente, me gustaría poder tomar estos grupos de capas y agregarlos dinámicamente como variables a una lista basada en características similares , como esta , sin tener que agregar manualmente cada grupo de capas por nombre.

Cualquier sugerencia sera apreciada.

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

0

Bueno, lo descubrí si alguien tiene curiosidad. Manteniendo el mismo código que el anterior y reemplazando estas variables/opciones:

 let lr1group = L.layerGroup() let ind00ss00group = L.layerGroup() let lr1List = []; let ind00ss00List = []; if (INDSShash =='IND00SS00' ) ind00ss00List.push(tagCategories); if (LRhash == "LR1") lr1List.push(tagCategories); const content = L.layerGroup().addTo(myMap); // filter selection myMap.on('overlayadd overlayremove', () => { if (myMap.hasLayer(ind00ss00group)) {ind00ss00List.forEach(marker=> marker.addTo(content)) } if (!myMap.hasLayer(ind00ss00group)) {ind00ss00List.forEach(marker => content.removeLayer(marker)) } if (!myMap.hasLayer(lr1group)) { lr1List.forEach(marker => content.removeLayer(marker)) } })
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