它是 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
配置图层。
我在使用这个函数获取特征时发现: 如果 '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
配置图层。