Daugiau

WFS iš geoseverio labai lėtai įkeltas į „openLayers“

WFS iš geoseverio labai lėtai įkeltas į „openLayers“


Iš pradžių paskelbiau šį klausimą apie bandymą įkelti „geoJSON“ naudojant „openLayers3“: „geojson“ labai lėtai įkeltas į „openLayers3“.

Remdamasis pranešime pateiktu pasiūlymu, aš dabar įkeliu sluoksnį kaip WFS iš geoserverio. Tačiau atsakymo laikas vis dar yra lėtas. Galų gale jis bus įkeltas į „Firefox“, bet net nebus įkeltas į „Chrome“ - gaunu pranešimą „Jis yra miręs Džimas“. Man įdomu, kaip apriboti priartinimo lygį, kuriuo gaunami duomenys (tik tada, kai pateksite į gana priartintą vaizdą), ir ką dar galėčiau padaryti, kad pagerėčiau atsakymo laiką. Čia yra mano kodas:

sourceVector = new ol.source.Vector ({krautuvas: funkcija (apimtis) {$ .ajax ('http://52.24.37.126:8080/geoserver/wfs', {type: 'GET', duomenys: {service: ' WFS “, versija:„ 1.1.0 “, užklausa:„ GetFeature “, pavadinimo pavadinimas:„ Iada_workspace: parcels “, srs pavadinimas:„ EPSG: 3857 “, outputFormat:„ application / json “, bbox: määral.join (', ) + ', EPSG: 3857'},}). Atlikta (loadFeatures);}, strategija: ol.loadingstrategy.tile (nauja ol.tilegrid.createXYZ ({maxZoom: 19})),}); window.loadFeatures = funkcija (atsakymas) {geoJSON = naujas ol.format.GeoJSON (); sourceVector.addFeatures (geoJSON.readFeatures (atsakas)); }; var layerVector = new ol.layer.Vector ({source: sourceVector, style: new ol.style.Style ({stroke: new ol.style.Stroke ({color: 'rgba (0, 0, 255, 1.0)'), plotis: 2})})}); var map = new ol.Map ({layer: [new ol.layer.Tile ({source: new ol.source.OSM ()}), layerVector], target: document.getElementById ('map'), view: new ol.View ({// projekcija: projekcijos centras: ol.proj.transform ([-116, 42], 'EPSG: 4326', 'EPSG: 3857'), priartinimas: 6})});

Visiems, kam tai įdomu, aš tai išsprendžiau nustatydamas minResolution ir maxResolution savybes vektoriniam sluoksniui. Veikia puikiai.

var layerVector = new ol.layer.Vector ({source: sourceVector, minResolution: 0, maxResolution: 4, style: new ol.style.Style ({stroke: new ol.style.Stroke ({color: 'rgba (25, 163, 255, 1,5) ', plotis: 1})})});