Lagi

Perbarui lapisan vektor dengan sumber vektor server

Perbarui lapisan vektor dengan sumber vektor server


Saya menggunakan Openlayers 3.0 , saya telah membuat lapisan vektor di mana sumber untuk lapisan vektor adalah vektor server. Sekarang saya ingin memperbarui lapisan ini pada klik kotak centang. Jadi saya membuat fungsi di bawah ini, namun tidak ada perubahan yang dikirim. Bisakah seseorang membantu?

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

Ini adalah solusi yang saya temukan untuk masalah saya yang disebutkan di atas:

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

Saya harus menggunakan solusi di atas dan tidak menggunakan sumber lapisan sebagai sumber. Vektor misalnya karena proyeksi tidak benar sebaliknya. Harap dicatat bahwa solusi yang tercantum adalah untuk Openlayers 3.0.0


Saya sedang mencari solusi serupa dan satu-satunya cara untuk melakukan pembaruan ini adalah potongan kode yang sangat jelek dengan menghapus lapisan lama dan menambahkannya lagi. Lihat di bawah:

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

Tonton videonya: Օրինակ. տրված ուղղությամբ միավոր վեկտորի որոշումը. Հանրահաշիվ. Քան ակադեմիա