Openlayers 3 单击URL时放大到矢量层

Openlayers 3 单击URL时放大到矢量层,openlayers-3,Openlayers 3,我的地图中有一个WFS图层。我在层中有建筑,建筑id作为属性以及其他许多属性。我的图层里也有坐标 我有一个网址:“bb21” 如何使用此URL将地图缩放到该建筑 有什么想法吗 AJ ======================此处更新=============== $.ajax({ url: 'http://localhost:8080/geoserver/wfs?service=wfs&version=1.0.0&request=getfeature&typen

我的地图中有一个WFS图层。我在层中有建筑,建筑id作为属性以及其他许多属性。我的图层里也有坐标

我有一个网址:“bb21”

如何使用此URL将地图缩放到该建筑

有什么想法吗

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);
    }   
});

首先,您必须使用ajax请求查询url。许多JavaScript库支持发出此类请求的简单方法,例如jQuery:

然后,在收到请求-响应后,您必须读取结果。如果您使用WFS,那么您的响应应该是GML。OL3具有GML 2和3的格式:

两者都有一个
readFeatures
方法,您可以使用该方法将响应转换为一系列功能,即转换为
ol.Feature
的实例。然后,您可以循环这些要素并获取它们的几何图形,并将地图拟合到该几何图形

var geom = feature.getGeometry();
var view = map.getView();
view.fit(geom, map.getSize());

嗨,谢谢你的指导。但是我在实现您的解决方案时遇到了一些问题:我已经用您的实现想法更新了我的问题。但是当我试图查看这些特性时,它给了我空值。我做错了什么?请参阅上面更新的代码。为我提供“未定义”非空抱歉
readFeatures
返回
ol.Feature
对象数组。您不需要根据特征返回的内容创建特征。请参阅文档:。此外,我建议您尝试加载ol-debug.js,并使用浏览器开发工具设置断点,以真正了解发生了什么。不要害怕进入代码并查看它的功能。我不明白你的意思,我不必创建功能??你能写一个代码示例吗?如何实现?我上面有我的代码。我的代码中到底有什么错误?请查看
readFeatures
方法的文档:。它返回
ol.Feature
对象的数组。使用浏览器开发工具在读取功能和监视
变量的位置设置断点。你会明白的。