From 7274798aa1244a12b11611b8eef2b173f2489b6a Mon Sep 17 00:00:00 2001 From: timkeane Date: Fri, 9 Nov 2018 07:58:04 -0500 Subject: [PATCH] Implement ol/geom/Geometry#containsXY Fixes issue #8863 ol/source/Vector#getFeaturesAtCoordinate and implementations of ol/geom/Geometry#containsXY --- src/ol/geom/Geometry.js | 3 ++- src/ol/geom/LineString.js | 10 ---------- src/ol/geom/MultiLineString.js | 11 ----------- src/ol/geom/MultiPoint.js | 11 ----------- src/ol/geom/Point.js | 10 ---------- 5 files changed, 2 insertions(+), 43 deletions(-) diff --git a/src/ol/geom/Geometry.js b/src/ol/geom/Geometry.js index 540559670d..5886ca90fe 100644 --- a/src/ol/geom/Geometry.js +++ b/src/ol/geom/Geometry.js @@ -92,7 +92,8 @@ class Geometry extends BaseObject { * @return {boolean} Contains (x, y). */ containsXY(x, y) { - return false; + const coord = this.getClosestPoint([x, y]); + return coord[0] === x && coord[1] === y; } /** diff --git a/src/ol/geom/LineString.js b/src/ol/geom/LineString.js index b21c0bb44c..0fe7da857b 100644 --- a/src/ol/geom/LineString.js +++ b/src/ol/geom/LineString.js @@ -88,16 +88,6 @@ class LineString extends SimpleGeometry { return new LineString(this.flatCoordinates.slice(), this.layout); } - /** - * @inheritDoc - * @override - * @api - */ - containsXY(x, y) { - const coord = this.getClosestPoint([x, y]); - return coord[0] === x && coord[1] === y; - } - /** * @inheritDoc */ diff --git a/src/ol/geom/MultiLineString.js b/src/ol/geom/MultiLineString.js index bd4b31e4ba..449338bf1b 100644 --- a/src/ol/geom/MultiLineString.js +++ b/src/ol/geom/MultiLineString.js @@ -100,17 +100,6 @@ class MultiLineString extends SimpleGeometry { return new MultiLineString(this.flatCoordinates.slice(), this.layout, this.ends_.slice()); } - /** - * @inheritDoc - * @override - * @api - */ - containsXY(x, y) { - return this.getLineStrings().some(function(lineString) { - return lineString.containsXY(x, y); - }); - } - /** * @inheritDoc */ diff --git a/src/ol/geom/MultiPoint.js b/src/ol/geom/MultiPoint.js index 65a88f4283..e433e51bf3 100644 --- a/src/ol/geom/MultiPoint.js +++ b/src/ol/geom/MultiPoint.js @@ -57,17 +57,6 @@ class MultiPoint extends SimpleGeometry { return multiPoint; } - /** - * @inheritDoc - * @override - * @api - */ - containsXY(x, y) { - return this.getCoordinates().some(function(coord) { - return coord[0] === x && coord[1] === y; - }); - } - /** * @inheritDoc */ diff --git a/src/ol/geom/Point.js b/src/ol/geom/Point.js index d4a798ffc5..92b27d6a0e 100644 --- a/src/ol/geom/Point.js +++ b/src/ol/geom/Point.js @@ -35,16 +35,6 @@ class Point extends SimpleGeometry { return point; } - /** - * @inheritDoc - * @override - * @api - */ - containsXY(x, y) { - const coord = this.getCoordinates(); - return coord[0] === x && coord[1] === y; - } - /** * @inheritDoc */