Filter 在对图层应用过滤器后疯狂地缩放
我知道这个问题已经被问过很多次了。但在过滤掉图层后,我真的很快就要放弃这种缩放了 我的密码在这里Filter 在对图层应用过滤器后疯狂地缩放,filter,openlayers,zooming,Filter,Openlayers,Zooming,我知道这个问题已经被问过很多次了。但在过滤掉图层后,我真的很快就要放弃这种缩放了 我的密码在这里 function filter(){ OpenLayers.ProxyHost = "cgi-bin/proxy.cgi?url="; var filters = new OpenLayers.Filter.Comparison({ type: OpenLayers.Filter.Comparison.EQUAL_TO,
function filter(){
OpenLayers.ProxyHost = "cgi-bin/proxy.cgi?url=";
var filters = new OpenLayers.Filter.Comparison({
type: OpenLayers.Filter.Comparison.EQUAL_TO,
property: "PROVINSI",
value: document.getElementById("provinsi").value
});
var parser = new OpenLayers.Format.Filter.v1_1_0();
var filterAsXml = parser.write(filters);
var xml = new OpenLayers.Format.XML();
var filterAsString = xml.write(filterAsXml);
wmslayer.params["FILTER"] = filterAsString;
wmslayer.redraw(true);
info.vendorParams["CQL_FILTER"] = filter;
var wfs = new OpenLayers.Layer.Vector(
"WFS Features",
{
strategies: [new OpenLayers.Strategy.Fixed()]
, projection: new OpenLayers.Projection("EPSG:4326")
, protocol: new OpenLayers.Protocol.WFS({
version: "1.1.0",
url: "http://localhost:8080/geoserver/ows",
featurePrefix: 'rom', //geoserver workspace name
featureType: "rom:indonesia", //geoserver Layer Name
featureNS: "http://localhost:8080/geoserver/rom", // Edit Workspace Namespace URI
}),
filter: filters
});
console.log(wfs);
map.zoomToExtent(wfs.getDataExtent());
}
过滤器功能工作正常。但是我不能放大到过滤层。我试着使用wfs。但是当我调用map.zoomToExtent(wfs.getDataExtent())时;它被放大到其他地方。你玩过投影吗?如果缩放是在其他地方进行的,听起来像是你的地图投影不同步。这也是它没有得到答案的地方-也许你可以更好地澄清一下这个问题,并决定你认为哪个网站最适合它?我也有同样的问题,但我使用的是openlayers 4。