Daugiau

Gauti WFS sluoksnį iš „GeoServer“ į „OpenLayers 3“?

Gauti WFS sluoksnį iš „GeoServer“ į „OpenLayers 3“?


Kuriu svetainės žemėlapio programą. Aš naudoju „GeoServer 2.6.2“ ir „OpenLayers 3.2“. Aš neturiu problemų su WMS sluoksniais, bet aš negaliu vizualizuoti vektorinių sluoksnių. Tai yra „JavaScript“ kodas, kurį pridėjau (sekiau šiuo „OpenLayers“ pavyzdžiu ir kitu pavyzdžiu):

var vector2Source = new ol.source.ServerVector ({formatas: new ol.format.GeoJSON (), loader: funkcija (mastas, skiriamoji geba, projekcija) {var url = 'http: // localhost/geoserver/Workspace/wfs? service = WFS & ' +' versija = 1.1.0 & request = GetFeature & typename = Darbo sritis: Daugiakampis ir ' +' outputFormat = json ' +' & srsname = EPSG: 6823 & bbox = ' + scale.join (', ') +', EPSG: 3857 '; $ .ajax (url) .tada (funkcija (atsakas) {vector2Source.addFeatures (vector2Source.readFeatures (atsakymas));});}, strategija: ol.loadingstrategy.createTile (nauja ol.tilegrid.XYZ ({maxZoom: 19}) )) // projekcija: "EPSG: 6823"}); var vector2 = new ol.layer.Vector ({šaltinis: vector2Source, style: new ol.style.Style ({insultas: naujas ol.style.Stroke ({spalva: 'rgba (0, 0, 255, 1.0)', plotis: 2})})});

Naršyklė („Google Chrome“) rodo šią klaidą:

XMLHttpRequest negali įkelti http: // localhost/geoserver/Workspace/wfs? Service = WFS & vers… 7148101,1526294.5807983987, -9920914.775189597,1536078.5204189012, EPSG: 3857. Prašomame šaltinyje nėra antraštės „Access-Control-Allow-Origin“. Todėl kilmės „null“ prieiga neleidžiama.

Ar kas nors galėtų man padėti?


Jei „GeoServer“ aptarnaujamas kitu jūsų puslapio domenu, tuomet turėsite įjungti „CORS“ „GeoServer“ programų serveryje arba įgalinti „JSONP“ užklausas „GeoServer“ ir atnaujinti savo OL3 programą, kad būtų išsiųstos JSONP užklausos.

Kai kurie iš jų aprašyti skiltyje „Kryžminiai domenų prašymai“: http://astuntechnology.github.io/osgis-ol3-leaflet/ol3/03-GEOJSON-INFO.html


naudokite šį „CORS“ plėtinį „Chrome“. Tiesiog pridėkite plėtinį ir ant jo. Jei neveikia, komentuokite CORS filtrus savo katės ir geoserverio svetainėje web.xml.


Architektūros schema:

Įdiegę paketą, paleiskite komandą:

  • darbo vietos: darbo vietos
  • stiliai: stiliai
  • parduotuvės: duomenų saugykla
  • sluoksniai: sluoksniai
  • sluoksnių grupės: sluoksnių rinkiniai

Skelbdami naują parduotuvę, pasirinkite simbolių rinkinį kaip utf-8. Pridėję naują formos failą duomenų puslapyje būtinai spustelėkite, kad apskaičiuotumėte žemėlapio rodymo diapazoną, ty Apskaičiuokite pagal duomenis, palyginti su skaičiavimu iš vietinių ribų Automatiškai apskaičiuoti ir rodyti „Lat/Lon Bounding Box“ rėmo duomenis.

Diegdami serverį galite tiesiogiai nukopijuoti vietinį geoserver-x.x.x aplanką, kad galėtumėte jį įdiegti ir paleisti. Atkreipkite dėmesį į automatinę paleidimo ir foninės paslaugos registraciją.