En OpenLayers 6...
No estoy familiarizado con la cosa, pero... ¿Cómo puedo iterar a través de todas las funciones en mi capa con el título "firmenGeoJSON" y ocultar o mostrar algunas de ellas con la propiedad específica "nombre"?
Gracias...
let myLayers = map.getAllLayers(); myLayers.forEach(function(layer) { if (layer.getProperties()['title'] == 'firmenGeoJSON') { console.log('found and hide'); //?????????? }; });Para iterar a través de todas las características de una capa, primero debe obtener su origen:
layer.getSource().forEachFeature(function (feature) { console.log(feature); });Aunque si desea mostrar u ocultar características, puede ser mejor hacerlo en una función de estilo de capa:
import {Circle, Fill, Stroke, Style} from './style.js'; const style = new Style({ image: new Circle({ radius: 8, fill: new Fill({ color: 'blue', }), }), stroke: new Stroke({ width: 4, color: 'green', }), }); layer.setStyle(function (feature, resolution) { if (feature.get('hidden')) { return undefined; } return style; });Pero tenga en cuenta que una función de estilo de capa solo se llama si la función en sí no tiene un conjunto de estilos. En ese caso, considere cambiar a una función de estilo de capa, como se ve arriba.