Suite

Fonctionnalités multiples de WFS dans Openlayers


Je veux obtenir plusieurs fonctionnalités WFS et modifier

Mon code

this.wfs = new OpenLayers.Layer.Vector("WFS-T" , { stratégies : [new OpenLayers.Strategy.BBOX(), this.saveStrategy], projection : new OpenLayers.Projection("EPSG:3857"), protocole : nouveau OpenLayers.Protocol.WFS({ version : "1.1.0", srsName : "EPSG:3857", url : "http://localhost:8080/geoserver/wfs", featureNS : "http://localhost : 8080/geoserver/mall", extractAttributes : true, featureType : ['stores' , 'store_point'], geometryName : 'geom' }) });

Mais je ne peux pas modifier les fonctionnalités

Message d'erreur :

Le type de fonctionnalité "stores,store_point" n'est pas disponible : 

Vous devez activer jsonp dans votre Geoserver pour pouvoir publier du code

Pour éditer, vous avez besoin du code suivant :

var formatWFS = new ol.format.WFS(); var formatGML = new ol.format.GML({ featureNS: 'yourfeatureNS', featureType: 'stores', srsName: 'EPSG:3857' }); var s = new XMLSerializer(); var sourceWFS = new ol.source.Vector({ loader: function (extent) { $.ajax('http://localhost:8080/geoserver/wfs', { type: 'GET', data: { service: 'WFS ', version : '1.1.0', requête : 'GetFeature', nom de type : 'stores', srsname : 'EPSG:3857', bbox : extent.join(',') + ',EPSG:3857' } }) .done(function (response) { sourceWFS.addFeatures(formatWFS.readFeatures(response)); }); }, stratégie : ol.loadingstrategy.bbox, projection : 'EPSG:3857' }); var layerWFS = new ol.layer.Vector({ source: sourceWFS }); var map = new ol.Map({ cible : 'map', couches : [ new ol.layer.Tile({ source : new ol.source.OSM({ url : 'https://cartodb-basemaps-{ad} .global.ssl.fastly.net/light_nolabels/{z}/{x}/{y}.png">PartagerAméliorer cette réponserépondu 8 juin 16 à 16:10LuffydudeLuffydude2,0203 insignes d'or13 insignes d'argent27 insignes de bronze


Voir la vidéo: Formation en programmation Webmapping PostGIS, GeoExt, ExtJS, OpenLayers et Geoserver (Octobre 2021).