Suite

Mettre à jour la couche vectorielle avec la source vectorielle du serveur

Mettre à jour la couche vectorielle avec la source vectorielle du serveur


J'utilise Openlayers 3.0, j'ai créé une couche vectorielle où la source de la couche vectorielle est un vecteur serveur. Maintenant, je veux mettre à jour cette couche en cliquant sur la case à cocher. J'ai donc créé la fonction ci-dessous, mais aucune modification n'est envoyée. Quelqu'un peut-il aider s'il vous plaît?

function update(layerName , layerSource) { var formatWFS = new ol.format.WFS({ featureNS: featureNS, featureType: layerName }); $.ajax({ url : layerURL, dataType : 'xml', jsonp : false, jsonpCallback : 'getJson', type : 'POST', async : false, success : function(data){ layerSource.clear(); layerSource. loadExtents_.clear (); var features = formatWFS.readFeatures (data); layerSource.addFeatures (features); layerSource.dispatchChangeEvent (); } }); }

Voici la solution que j'ai trouvée pour mon problème indiqué ci-dessus :

fonction update (layerName , layerSource) { var staticVector = new ol.source.StaticVector({ format : new ol.format.WFS({ featureNS : featureNS, featureType : layerName }), projection : layerProjection }); $.ajax({ url : url, dataType : 'xml', jsonp : false, jsonpCallback : 'getJson', type : 'POST', async : true, success : function(data){ layerSource.clear(); layerSource. addFeatures(staticVector.readFeatures(data));layerSource.dispatchChangeEvent(); } }); }

J'ai dû utiliser la solution ci-dessus et ne pas utiliser la source de la couche comme source.Vector par exemple car la projection n'était pas correcte sinon. Veuillez noter que la solution répertoriée est pour Openlayers 3.0.0


Je cherchais une solution similaire et la seule façon de faire cette mise à jour était un morceau de code très moche en supprimant l'ancienne couche et en l'ajoutant à nouveau. Voir ci-dessous:

map.removeLayer(layerName); layerNameSource = new ol.source.Vector({… }); layerName = new ol.layer.Vector({ source: layerNameSource… }); map.addLayer(layerName);

Voir la vidéo: Näin pärjäsin koulussa ja ylppäreissä!