отображение данных из слоя WFS (вектор) с использованием getFeatureInfo

Как следует из заголовка... Я пытаюсь получить доступ к этим данным, связанным с векторным слоем, но безуспешно.
Я получаю следующую ошибку: "QUERY_LAYERS не был запрошен или в любом случае в запросе нет запрашиваемого слоя"

Я использую геосервер, openlayers и скрипт, показанный ниже....

           map.events.register('click', map, function (e) {
           document.getElementById('nodelist').innerHTML = "Loading... please wait...";
                var params = {
                    REQUEST: "GetFeatureInfo",
                    EXCEPTIONS: "application/vnd.ogc.se_xml",
                    BBOX: map.getExtent().toBBOX(),
                    X: e.xy.x,
                    Y: e.xy.y,
                    INFO_FORMAT: 'text/html',
                    QUERY_LAYERS: map.layers[1].options.typename,
                    FEATURE_COUNT: 50,
                    Layers: 'monitor:Routers',
                    Styles: '',
                    Srs: 'EPSG:4326',
                    WIDTH: map.size.w,
                    HEIGHT: map.size.h,
                    };
                OpenLayers.loadURL("http://tobagoborn.com:8080/geoserver/wfs", params, this, setHTML, setHTML);
                OpenLayers.Event.stop(e);
            });

Любое предложение относительно того, что я делаю неправильно, будет очень признательно

С уважением Крис


person ChrisJ    schedule 29.08.2010    source источник
comment
Поскольку вы не показываете остальную часть страницы, что содержит map.layers[1].options.typename? У меня нет этого значения на моих страницах OL :)   -  person Chau    schedule 06.09.2010


Ответы (2)


Вы можете попросить WFS отправить вам данные, используя request=getfeature, но если вы используете getfeatureinfo, вам нужен сервер WMS. GeoServer может предоставлять данные через оба интерфейса, но лучше не смешивать их.

В коде, который вы показываете, наиболее вероятная проблема заключается в том, что на вашей карте нет 2 слоев, так как массив пронумерован от 0.

person Ian Turton    schedule 23.02.2011

Действительно ли работает ваш исходный URL (сервер WFS)? Когда я пытаюсь перейти туда, я получаю тайм-аут.

person LarsH    schedule 30.08.2010
comment
Это хороший вопрос... Я не уверен... Я пробовал использовать WFS, OWS или WMS для URL-адреса, и ни один из них не работает со сценарием... В качестве теста, когда я набираю следующую ссылку в своем браузере, и он успешно возвращает данные: tobagoborn.com:8080/geoserver/ Так что я в растерянности, что не работает - person ChrisJ; 31.08.2010