我的地图中有一个WFS图层。我在图层中有building_id作为属性以及其他许多属性的建筑物。我的图层中也有坐标。
我有一个网址:http://localhost:8080/geoserver/wfs?service=wfs&version=1.0.0&request=getfeature&typename=topp:buildings&CQL_FILTER=id=' bb21'
如何使用此网址将地图缩放到该建筑物?
有什么想法吗?
AJ
================在这里更新===============
$.ajax({
url: 'http://localhost:8080/geoserver/wfs?service=wfs&version=1.0.0&request=getfeature&typename=genesis:Building_WGS&CQL_FILTER=HOUSE_NO=%271436%27',
xhrFields: {
withCredentials: true
},
success: function(data) {
var te = new ol.format.GML2();
var a = te.readFeatures(data)
var feature = new ol.Feature(a);
//console.log(test1);
var geom = feature.get("HOUSE_NO");
var view = map.getView();
//view.fit(geom, map.getSize());
console.log(geom);
}
});
答案 0 :(得分:0)
首先,您必须使用ajax请求查询网址。许多JavaScript库支持发出此类请求的简单方法,例如jQuery:http://api.jquery.com/jquery.ajax/
然后,收到请求响应后,您必须阅读结果。如果您使用的是WFS,那么您的回复应该是GML。 OL3的格式为GML 2和3:
两者都有一个readFeatures
方法,可用于将响应转换为一系列要素,即转换为ol.Feature
的实例。然后,您可以循环这些要素并获取其几何图形并使地图适合该几何图形。
var geom = feature.getGeometry();
var view = map.getView();
view.fit(geom, map.getSize());