Openlayers 如何使用WFS GetFeature返回wmsgetfeatureinfo之类的数据?

Openlayers 如何使用WFS GetFeature返回wmsgetfeatureinfo之类的数据?,openlayers,geoserver,wms,getfeatureinfo,Openlayers,Geoserver,Wms,Getfeatureinfo,您好,现在我正在使用Openlayers.Control.getfeature使用wfs协议在单击地图中的某个功能时返回属性。 我知道我可以使用wmsgetfeatureinfo返回属性,但我的服务器管理员禁用了对其自己机器的访问,因此我无法使用代理访问geoserver 是否有某种方法可以使用wfsgetfeature返回像wmsgetfeatureinfo这样的属性 以下是来自wfs的一个响应 <?xml version="1.0" encoding="UTF-8"?> <

您好,现在我正在使用
Openlayers.Control.getfeature
使用
wfs
协议在单击地图中的某个功能时返回属性。 我知道我可以使用
wmsgetfeatureinfo
返回属性,但我的服务器管理员禁用了对其自己机器的访问,因此我无法使用代理访问
geoserver

是否有某种方法可以使用wfs
getfeature
返回像
wmsgetfeatureinfo
这样的属性

以下是来自wfs的一个响应

<?xml version="1.0" encoding="UTF-8"?>
<wfs:FeatureCollection
    numberOfFeatures="1"
    timeStamp="2013-12-19T05:57:11.434Z"
    xsi:schemaLocation="http://localhost:8080/geoserver/kabupaten http://127.0.0.1:8080/geoserver/wfs?service=WFS&amp;version=1.1.0&amp;request=DescribeFeatureType&amp;typeName=kabupaten%3Adesa http://www.opengis.net/wfs http://127.0.0.1:8080/geoserver/schemas/wfs/1.1.0/wfs.xsd" 
    xmlns:ogc="http://www.opengis.net/ogc"
    xmlns:provinsi="http://localhost:8080/geoserver/provinsi"
    xmlns:wfs="http://www.opengis.net/wfs"
    xmlns:pusat="http://localhost:8080/geoserver/pusat"
    xmlns:ccrom="http://localhost:8080/geoserver/ccrom"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:kabupaten="http://localhost:8080/geoserver/kabupaten"
    xmlns:ows="http://www.opengis.net/ows"
    xmlns:gml="http://www.opengis.net/gml"
    xmlns:xlink="http://www.w3.org/1999/xlink">
<gml:featureMembers>
    <kabupaten:desa gml:id="desa.38888">
    <kabupaten:the_geom>
    <gml:MultiSurface srsDimension="2" srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
        <gml:surfaceMember>
            <gml:Polygon srsDimension="2">
                <gml:exterior>
                    <gml:LinearRing srsDimension="2">
                        <gml:posList>
                            110.59745283700005 -7.748368004999975 110.59713305000008 -7.748094082999955
                            110.59648326600006 -7.748150648999967 110.59648297300004 -7.748150464999981           
                            [...]
                            110.59745742400008 -7.748371934999966 110.59745283700005 -7.748368004999975
                        </gml:posList>
                    </gml:LinearRing>
                </gml:exterior>
            </gml:Polygon>
        </gml:surfaceMember>
    </gml:MultiSurface>
    </kabupaten:the_geom>
    <kabupaten:PROVNO>33</kabupaten:PROVNO>
    <kabupaten:KABKOTNO>10</kabupaten:KABKOTNO>
    <kabupaten:KECNO>070</kabupaten:KECNO>
    <kabupaten:DESANO>001</kabupaten:DESANO>
    <kabupaten:IDSP2010>3310070001</kabupaten:IDSP2010>
    <kabupaten:PROVINSI>JAWA TENGAH</kabupaten:PROVINSI>
    <kabupaten:KABKOT>KLATEN</kabupaten:KABKOT>
    <kabupaten:KECAMATAN>KALIKOTES</kabupaten:KECAMATAN>
    <kabupaten:DESA>JIMBUNG</kabupaten:DESA>
    <kabupaten:KERENTANAN>2</kabupaten:KERENTANAN>
    <kabupaten:IKA>0.18</kabupaten:IKA>
    <kabupaten:IKS>-0.22</kabupaten:IKS>
    <kabupaten:BANJIR>4</kabupaten:BANJIR>
    <kabupaten:KEKERINGAN>6</kabupaten:KEKERINGAN>
    </kabupaten:desa>
</gml:featureMembers>
</wfs:FeatureCollection>

110.59745283700005 -7.748368004999975 110.59713305000008 -7.748094082999955
110.59648326600006 -7.748150648999967 110.59648297300004 -7.748150464999981           
[...]
110.59745742400008 -7.748371934999966 110.59745283700005 -7.748368004999975
33
10
070
001
3310070001
爪哇田加
克拉滕
卡利科特酒店
吉姆邦
2.
0.18
-0.22
4.
6.
您可以使用 OpenLayers.Protocol.WFS.fromWMSLayer(层) 其中图层是地理服务器中的wms图层

control = new OpenLayers.Control.GetFeature({
    protocol: OpenLayers.Protocol.WFS.fromWMSLayer(layer),
    box: true,
    hover: true,
    multipleKey: "shiftKey",
    toggleKey: "ctrlKey"
});
并将此控件添加到地图中。 我认为您不能将结果显示为弹出窗口。但您可以获得特征信息,并可以添加到另一个矢量层。

如何在openlayers 3上使用此方法?