Primero debo decir que mis habilidades en javascript son más o menos las mismas que mis habilidades en español. Apenas sé lo suficiente para meterme en problemas y luego voy a buscar ayuda. de todos modos tengo una aplicación que tiene unas cuantas capas geoJSON en ella. He creado una función map.forEachFeatureAtPixel para actualizar un div con cierta información.
El problema es que mira todas las capas y yo sólo quiero que mire una. de esta manera puedo crear otra función para obtener algunos atributos diferentes de otra capa. He revisado el documentación y veo la opción opt_layerFilter pero no sé cómo aplicarla (debido a mi falta de conocimientos de Javascript). Si alguien pudiera darme una pista aquí espero poder entonces leer la documentación y dejar de hacer estas preguntas.
función:
var displayFeatureInfo = function(pixel ) {
var feature = map.forEachFeatureAtPixel(pixel, function(feature, layer) {
return feature;
});
var info = document.getElementById('info');
if (feature) {
info.innerHTML = '<div class="panel panel-info"><div class="panel-heading"><h3 class="panel-title">' + feature.get('Name') +
'</h3></div><div class="panel-body">' + '<dt>API: </dt><dd class="text-info">' + feature.get('API') + '</dd>'
+ '<dt>Status: </dt><dd class="text-info">' + feature.get('Status') + '</dd>' +
'<dt>Legal : </dt><dd class="text-info">' + feature.get('Legal') + '</dd>' +
'<dt>Site Name: </dt><dd class="text-info">' + feature.get('Site_Name') + '</dd>'+'</div>';
} else {
info.innerHTML = ' ';
}
if (feature !== highlight) {
if (highlight) {
featureOverlay.removeFeature(highlight);
}
if (feature) {
featureOverlay.addFeature(feature);
}
highlight = feature;
}
};