Merge pull request #7669 from ahocevar/hit-detect-declutter

Use declutter tree only for text and image replays
This commit is contained in:
Andreas Hocevar
2018-01-09 15:56:55 +01:00
committed by ahocevar
parent 72ca7b28c6
commit 2912a5d7a7
2 changed files with 55 additions and 62 deletions

View File

@@ -5,7 +5,7 @@ goog.require('ol.Map');
goog.require('ol.MapEvent');
goog.require('ol.Overlay');
goog.require('ol.View');
goog.require('ol.geom.Point');
goog.require('ol.geom.LineString');
goog.require('ol.has');
goog.require('ol.interaction');
goog.require('ol.interaction.DoubleClickZoom');
@@ -197,14 +197,14 @@ describe('ol.Map', function() {
document.body.appendChild(target);
map = new ol.Map({
target: target,
layers: [new ol.layer.Vector({
source: new ol.source.Vector({
features: [new ol.Feature(new ol.geom.Point([0, 0]))]
layers: [new ol.layer.Vector_({
source: new ol.source.Vector_({
features: [new ol.Feature(new ol.geom.LineString([[-50, 0], [50, 0]]))]
})
})],
view: new ol.View({
center: [0, 0],
zoom: 2
zoom: 17
})
});
map.renderSync();
@@ -224,6 +224,20 @@ describe('ol.Map', function() {
expect(features[0]).to.be.an(ol.Feature);
});
it('returns an array of found features with declutter: true', function() {
var layer = map.getLayers().item(0);
map.removeLayer(layer);
var otherLayer = new _ol_layer_Vector_({
declutter: true,
source: layer.getSource()
});
map.addLayer(otherLayer);
map.renderSync();
var features = map.getFeaturesAtPixel([50, 50]);
expect(features).to.be.an(Array);
expect(features[0]).to.be.an(_ol_Feature_);
});
it('respects options', function() {
var otherLayer = new ol.layer.Vector({
source: new ol.source.Vector