Mais

Solicitar JSONP do Geoserver usando solicitação AJAX no Openlayers 3


Estou criando um aplicativo da web usando OpenLayers 3 e estou procurando importar minhas camadas vetoriais para ele. Atualmente tenho meus dados no Geoserver e estou tentando usar o seguinte código, mas quando faço a solicitação abaixo usando jQuery:

var vectorLoader = function (extensão, resolução, projeção) {var url = 'http: // XXX185: 8080 / geoserver / wfs? service = WFS &' + 'version = 1.1.0 & request = GetFeature & typename = YYY: QGIS &' + 'outputFormat = text / javascript & format_options = callback: loadFeatures '+' & srsname = EPSG: 3857 & bbox = '+ extend.join (', ') +', EPSG: 3857 '; $ .ajax ({url: url, dataType: 'jsonp'}); }; var loadFeatures = função (resposta) {var features = vectorSource.readFeatures (resposta); vectorSource.addFeatures (recursos); }; var vectorSource = new ol.source.ServerVector ({format: new ol.format.GeoJSON (), loader: vectorLoader, estratégia: ol.loadingstrategy.createTile (new ol.tilegrid.XYZ ({maxZoom: 19}))}) ; var serverVector = new ol.layer.Vector ({fonte: vectorSource, style: vectorStyle});

Eu recebo este erro:

SyntaxError não capturado: token inesperado 

Imagino que tenha algo a ver com a maneira como o vectorLoader está solicitando o WFS.


Você ativou as configurações JSONP do geoserver em web.xml?

/geoserver/WEB-INF/web.xml

contém configurações como esta:

 ENABLE_JSONP verdadeiro

Você deveria mudarENABLE_JSONPcomoverdadeiro


Assista o vídeo: Building Covid GIS web app using Openlayers and Postgres from scratch (Outubro 2021).