diff --git a/examples/wfs-filter.html b/examples/wfs-filter.html new file mode 100644 index 0000000000..2c6466d650 --- /dev/null +++ b/examples/wfs-filter.html @@ -0,0 +1,29 @@ + + + + OpenLayers WFS Protocol with Filter + + + + + + + +

WFS Protocol and Filter

+

+ Demonstrates the use of a filter in making GetFeature requests using the WFS protocol. +

+
+
+

+ If a vector layer has a filter and the protocol supports server-side filtering, + the filter will be serialized in requests for features. The WFS protocol can be + used with a vector layer to serialize a filter using OGC Filter Encoding. This + example requests all features that are TYPE "highway" or "road". +

+ See the wfs-filter source + for details on how this is done. +

+
+ + diff --git a/examples/wfs-filter.js b/examples/wfs-filter.js new file mode 100644 index 0000000000..517323eba6 --- /dev/null +++ b/examples/wfs-filter.js @@ -0,0 +1,48 @@ +var map; + +// use proxy if requesting features cross-domain +OpenLayers.ProxyHost= "/proxy/?url="; + +function init() { + + map = new OpenLayers.Map({ + div: "map", + layers: [ + new OpenLayers.Layer.WMS( + "Natural Earth", + "http://demo.opengeo.org/geoserver/wms", + {layers: "topp:naturalearth"} + ), + new OpenLayers.Layer.Vector("WFS", { + strategies: [new OpenLayers.Strategy.BBOX()], + protocol: new OpenLayers.Protocol.WFS({ + url: "http://demo.opengeo.org/geoserver/wfs", + featureType: "tasmania_roads", + featureNS: "http://www.openplans.org/topp" + }), + styleMap: new OpenLayers.StyleMap({ + strokeWidth: 3, + strokeColor: "#333333" + }), + filter: new OpenLayers.Filter.Logical({ + type: OpenLayers.Filter.Logical.OR, + filters: [ + new OpenLayers.Filter.Comparison({ + type: OpenLayers.Filter.Comparison.EQUAL_TO, + property: "TYPE", + value: "highway" + }), + new OpenLayers.Filter.Comparison({ + type: OpenLayers.Filter.Comparison.EQUAL_TO, + property: "TYPE", + value: "road" + }) + ] + }) + }) + ], + center: new OpenLayers.LonLat(146.7, -41.8), + zoom: 6 + }); + +}