Acabei de atualizar para o OpenLayers 10.4 da versão 4.5. Preciso obter todos os recursos no ponto em que o usuário clica. Então eu uso
map.forEachFeatureAtPixel(pixel, function (feature, layer) { .... }));
Funciona bem quando uma cor de preenchimento para um polígono naquele local é especificada.
new ol.style.Style({
fill: new ol.style.Fill({ color: [0xfb, 0x7f, 0x7f, 0.7] }),
stroke: new ol.style.Stroke({ color: "#ff0000", width: 1 })
})
Não retorna polígonos com estilo de preenchimento igual a nulo:
new ol.style.Style({
fill: null,
stroke: new ol.style.Stroke({ color: "#F44444", width: 1 })
})
Funcionou bem usando a versão 4.5. Alguém poderia me dar uma dica de como resolver isso?
A documentação mais recente (10.5.0) afirma isto:
getFeaturesAtPixel(pixel, opções){Array}
Obtenha todos os elementos que cruzam um pixel na janela de visualização. Para polígonos sem preenchimento, apenas o traço será usado para detecção de acertos. Os polígonos devem ter um estilo de preenchimento aplicado para garantir que os pixels dentro de um polígono sejam detectados. O preenchimento pode ser transparente.