Javascript Openlayers:从WFS层搜索
我正在使用Geoserver/PostGIS/openLayers 我已经成功地设置了一个向量层。现在我正在尝试创建一个搜索功能。但是出了点问题 这是我的密码Javascript Openlayers:从WFS层搜索,javascript,filter,openlayers,Javascript,Filter,Openlayers,我正在使用Geoserver/PostGIS/openLayers 我已经成功地设置了一个向量层。现在我正在尝试创建一个搜索功能。但是出了点问题 这是我的密码 OpenLayers.ProxyHost=“/cgi-bin/proxy.cgi?url=”; var renderer=OpenLayers.Util.getParameters(window.location.href).renderer; 渲染器=(渲染器)?[渲染器]:OpenLayers.Layer.Vector.proto
OpenLayers.ProxyHost=“/cgi-bin/proxy.cgi?url=”;
var renderer=OpenLayers.Util.getParameters(window.location.href).renderer;
渲染器=(渲染器)?[渲染器]:OpenLayers.Layer.Vector.prototype.renderers;
var WGS84=新OpenLayers.投影(“EPSG:4326”);
var mercator=新OpenLayers.投影(“EPSG:900913”);
var map=new OpenLayers.map(“dMap”,{
控制:[
],
最大分辨率:0.005,
显示投影:WGS84,
单位:度
} );
var wfs=new OpenLayers.Layer.Vector(“可编辑特征”{
渲染器:渲染器,
displayInLayerSwitcher:正确,
战略:[
新OpenLayers.Strategy.Fixed(),
新OpenLayers.Strategy.Cluster({距离:
15})
],
styleMap:new OpenLayers.styleMap(样式),
协议:新OpenLayers.protocol.WFS({
版本:“1.1.0”,
url:“http://localhost:8080/geoserver/wfs",
特色:http://www.openplans.org/tour",
srsName:“EPSG:4326”,
特色类型:“旅游业”,
geometryName:“_geom”
}),
这是真的,
策略:[新建OpenLayers.Strategy.BBOX()],
过滤器:新OpenLayers.filter.Logical({
类型:OpenLayers.Filter.Logical.AND,
过滤器:[
新OpenLayers.Filter.Comparison({
类型:OpenLayers.Filter。
比较。等于,
财产:prop1,
值:testfil
}),
新OpenLayers.Filter.Comparison({
类型:OpenLayers.Filter。
比较。等于,
财产:prop2,
值:testfil2
})
]
})
});
var prop1=“旅游类型”;
var testfil=“娱乐”;
var prop2=“tourismname”;
var testfil2=“公园”;
函数更改过滤器(prop1、prop2、testfil、testfil2){
wfs.destroyFeatures();
过滤器:新OpenLayers.filter.Logical({
类型:OpenLayers.Filter.Logical.AND,
过滤器:[
新OpenLayers.Filter.Comparison({
类型:OpenLayers.Filter.Comparison.EQUAL_TO,
财产:prop1,
值:testfil
}),
新OpenLayers.Filter.Comparison({
类型:OpenLayers.Filter.Comparison.EQUAL_TO,
财产:prop2,
值:testfil2
})
]
})
wfs.filter=过滤器;
refresh({force:true});
}
我的问题解决了,我将类型为submit的输入元素放在表单元素之外。它起作用了。
我最初的代码是:
<form>
Other code
<input id="sub01" type="submit" value="Search" onclick="changeFilter()">
</form>
其他代码
我的更正是:
<form>
Other code
</form>
<input id="sub01" type="submit" value="Search" onclick="changeFilter()">
其他代码
有任何错误吗?没有,我没有任何错误。我的地图显示了主加载中的点,但单击“搜索”按钮时它们不会改变,重新加载地图后,它仍然显示以前的点