它是 getFeaturesAtPixel(pixel, opt_options) 的错误吗?

Is it a bug for getFeaturesAtPixel(pixel, opt_options)?

我在使用这个函数获取特征时发现: 如果 'Feature' 的 'Style'(如图像和文本)在要素坐标的 100 像素以内,我可以使用 'Style' 内的像素来获取该要素; 但是如果 'Style' 太远(超过 100 个像素),我无法通过使用 'Style'.

的像素来获得 'Feature'

例如将 'ol/style/Text' 添加到特征的样式中。

new Text({
  font: '15px Microsoft YaHei',
  text: '',
  fill: new Fill({
    color: '#222'
  }),
  backgroundStroke: new Stroke({
    color: 'rgba(0,0,0,0.5)',
    width: 1
  }),
  backgroundFill: new Fill({
    color: 'rgba(0,250,154,0.3)'
  }),
  textAlign: 'middle',
  textBaseline: 'middle',
  offsetX: 200,
  offsetY: 200
})

我在 github 中找到了解决方案: 默认情况下,OpenLayers 仅考虑特征周围 100 像素的区域进行命中检测。当您使用 200 像素的偏移量时。你不在那个地区。要修复它,请使用适当大小的 renderBuffer 配置图层。