геосервер к открытым слоям wfst - PullRequest
0 голосов
/ 09 апреля 2019

Я хочу вывести свой слой геосерверов в открытые слои, используя приведенный ниже код, однако я не могу получить правильный формат URL для ввода следующего слоя. URL-адрес - localhost: 8080 / geoserver / itachi / ows? Service = WFS & version= 1.0.0 & request = GetFeature & typeName = itachi% 3Awfs_geom & maxFeatures = 50

var sourceWFS = new ol.source.Vector({            
    loader: function (extent) {
        $.ajax('https://gsx.geolytix.net/geoserver/geolytix_wfs/ows', {
            type: 'GET',
            data: {
                service: 'WFS',
                version: '1.1.0',
                request: 'GetFeature',
                typename: 'wfs_geom',
                srsname: 'EPSG:3857',
                bbox: extent.join(',') + ',EPSG:3857'
            }
        }).done(function (response) {
            sourceWFS.addFeatures(formatWFS.readFeatures(response));
        });
    },

1 Ответ

0 голосов
/ 10 апреля 2019

Вы можете сделать это, используя полный URL

var sourceWFS = new ol.source.Vector({
    url: 'http://localhost:8080/geoserver/itachi/ows?service=WFS&version=1.0.0&request=GetFeature&typeName=itachi%3Awfs_geom&maxFeatures=50',
    format: formatWFS
});

Но если вам нужно изменить проекции (например, данные возвращаются в EPSG: 4326, а представление - EPSG: 3857), вам нужно использовать загрузчик

var sourceWFS = new ol.source.Vector({
    loader: function () {
        $.ajax('http://localhost:8080/geoserver/itachi/ows', {
            type: 'GET',
            data: {
                service: 'WFS',
                version: '1.0.0',
                request: 'GetFeature',
                typename: 'itachi:wfs_geom',
                maxFeatures: '50'
            }
        }).done(function (response) {
            sourceWFS.addFeatures(formatWFS.readFeatures(response),{
                dataProjection: 'EPSG:4326',
                featureProjection: 'EPSG:3857'
            });
        });
    },
    strategy: ol.loadingstrategy.all
});

Если данные могут быть обновлены, вам нужно позвонить sourceWFS.refresh(); для перезагрузки

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...