Openlayers 3中的过滤功能

Openlayers 3中的过滤功能,openlayers,openlayers-3,Openlayers,Openlayers 3,当我使用Openlayers 2时,我可以组合各种过滤器,如Openlayers.Filter.Comparison.EQUAL_TO或Openlayers.Filter.Comparison.like,然后使用WFS协议和回调函数根据用户输入和那些本机WFS过滤器获取功能 在Openlayers 3中,我没有看到那些本机过滤器 那么,现在,我如何根据用户输入获取特性呢?我得到输入并向PostGIS进行老式查询?我重置了ol.Vector源url 请提供一些帮助或教程 谢谢您应该更改OpenLa

当我使用Openlayers 2时,我可以组合各种过滤器,如
Openlayers.Filter.Comparison.EQUAL_TO
Openlayers.Filter.Comparison.like
,然后使用WFS协议和回调函数根据用户输入和那些本机WFS过滤器获取功能

在Openlayers 3中,我没有看到那些本机过滤器

那么,现在,我如何根据用户输入获取特性呢?我得到输入并向PostGIS进行老式查询?我重置了
ol.Vector
url

请提供一些帮助或教程


谢谢

您应该更改OpenLayers 3中的
url
,以使用OGC FE(过滤器编码)语法。 事实上,
OpenLayers.Filter.Comparison.EQUAL_TO
OpenLayers.Filter.Comparison.LIKE
是在幕后为您构建此过滤器字符串的

如果您查看,您会看到他们在URL中使用
bbox
键。要执行与OpenLayers.Filter.Comparison.EQUAL_相同的操作,您可以将url替换为:

return 'http://demo.boundlessgeo.com/geoserver/wfs?service=WFS&' +
        'version=1.1.0&request=GetFeature&typename=osm:water_areas&' +
        'outputFormat=application/json&srsname=EPSG:3857&' +
        'Filter=<Filter xmlns:gml="http://www.opengis.net/gml"><And><BBOX><PropertyName>way</PropertyName><gml:Box srsName="urn:x-ogc:def:crs:EPSG:3857"><gml:coord><gml:X>' + extent[0] + '</gml:X> <gml:Y>' + extent[1] + '</gml:Y></gml:coord><gml:coord><gml:X>' + extent[2] + '</gml:X><gml:Y>' + extent[3] + '</gml:Y></gml:coord></gml:Box></BBOX><PropertyIsEqualTo><PropertyName>landuse</PropertyName><Literal>basin</Literal></PropertyIsEqualTo></And></Filter>';
return'http://demo.boundlessgeo.com/geoserver/wfs?service=WFS&' +
'version=1.1.0&request=GetFeature&typename=osm:water\u areas&'+
'outputFormat=application/json&srsname=EPSG:3857&'+
'过滤器=方式'+范围[0]+''+范围[1]+''+范围[2]+''+范围[3]+'土地利用盆地';

重要的部分是将筛选器编码(FE)语法应用于WFS调用的
&filter=…

您应该更改OpenLayers 3中的
url
以使用OGC FE(筛选器编码)语法。 事实上,
OpenLayers.Filter.Comparison.EQUAL_TO
OpenLayers.Filter.Comparison.LIKE
是在幕后为您构建此过滤器字符串的

如果您查看,您会看到他们在URL中使用
bbox
键。要执行与OpenLayers.Filter.Comparison.EQUAL_相同的操作,您可以将url替换为:

return 'http://demo.boundlessgeo.com/geoserver/wfs?service=WFS&' +
        'version=1.1.0&request=GetFeature&typename=osm:water_areas&' +
        'outputFormat=application/json&srsname=EPSG:3857&' +
        'Filter=<Filter xmlns:gml="http://www.opengis.net/gml"><And><BBOX><PropertyName>way</PropertyName><gml:Box srsName="urn:x-ogc:def:crs:EPSG:3857"><gml:coord><gml:X>' + extent[0] + '</gml:X> <gml:Y>' + extent[1] + '</gml:Y></gml:coord><gml:coord><gml:X>' + extent[2] + '</gml:X><gml:Y>' + extent[3] + '</gml:Y></gml:coord></gml:Box></BBOX><PropertyIsEqualTo><PropertyName>landuse</PropertyName><Literal>basin</Literal></PropertyIsEqualTo></And></Filter>';
return'http://demo.boundlessgeo.com/geoserver/wfs?service=WFS&' +
'version=1.1.0&request=GetFeature&typename=osm:water\u areas&'+
'outputFormat=application/json&srsname=EPSG:3857&'+
'过滤器=方式'+范围[0]+''+范围[1]+''+范围[2]+''+范围[3]+'土地利用盆地';
重要的部分是将过滤器编码(FE)语法应用于WFS调用的
&filter=…