From d9fd39d547bcaad6e9a6194139cd2dea8510dce6 Mon Sep 17 00:00:00 2001 From: bartvde Date: Mon, 2 Nov 2009 07:12:53 +0000 Subject: [PATCH] make spatial filter configurable for OpenLayers.Control.GetFeature, p=rdewit, r=me (closes #2325) git-svn-id: http://svn.openlayers.org/trunk/openlayers@9770 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf --- lib/OpenLayers/Control/GetFeature.js | 17 +++++++++++++---- tests/Control/GetFeature.html | 9 ++++++++- 2 files changed, 21 insertions(+), 5 deletions(-) diff --git a/lib/OpenLayers/Control/GetFeature.js b/lib/OpenLayers/Control/GetFeature.js index 402e825915..3b6733d490 100644 --- a/lib/OpenLayers/Control/GetFeature.js +++ b/lib/OpenLayers/Control/GetFeature.js @@ -14,7 +14,7 @@ * Class: OpenLayers.Control.GetFeature * Gets vector features for locations underneath the mouse cursor. Can be * configured to act on click, hover or dragged boxes. Uses an - * that supports spatial filters (BBOX) to retrieve + * that supports spatial filters to retrieve * features from a server and fires events that notify applications of the * selected features. * @@ -80,10 +80,10 @@ OpenLayers.Control.GetFeature = OpenLayers.Class(OpenLayers.Control, { /** * APIProperty: clickTolerance - * {Integer} Tolerance for the BBOX query in pixels. This has the + * {Integer} Tolerance for the filter query in pixels. This has the * same effect as the tolerance parameter on WMS GetFeatureInfo * requests. Will be ignored for box selections. Applies only if - * of is true. Default is 5. Note that this not + * or is true. Default is 5. Note that this not * only affects requests on click, but also on hover. */ clickTolerance: 5, @@ -142,6 +142,15 @@ OpenLayers.Control.GetFeature = OpenLayers.Class(OpenLayers.Control, { */ hoverResponse: null, + /** + * Property: filterType + * {} The type of filter to use when sending off a request. + * Possible values: + * OpenLayers.Filter.Spatial. + * Defaults to: OpenLayers.Filter.Spatial.BBOX + */ + filterType: OpenLayers.Filter.Spatial.BBOX, + /** * Constant: EVENT_TYPES * @@ -332,7 +341,7 @@ OpenLayers.Control.GetFeature = OpenLayers.Class(OpenLayers.Control, { request: function(bounds, options) { options = options || {}; var filter = new OpenLayers.Filter.Spatial({ - type: OpenLayers.Filter.Spatial.BBOX, + type: this.filterType, value: bounds }); diff --git a/tests/Control/GetFeature.html b/tests/Control/GetFeature.html index be9803329f..1129bd6412 100644 --- a/tests/Control/GetFeature.html +++ b/tests/Control/GetFeature.html @@ -3,7 +3,7 @@