Saya menggunakan OpenLayers.Control.SelectFeature untuk seleksi pada banyak layer. Namun, ketika saya menambahkan lapisan menggunakan setLayer (), pilihan saya di lapisan lain hilang.
Adakah yang tahu cara mengatasi ini? Saya ingin menyimpan pilihan saya yang ada di lapisan lain ketika saya menambahkan lapisan ke kontrol SelectFeature.
Berikut ini sebuah contoh: CONTOH SAYA
Memperbarui:
Saya sadar bahwa ini adalah bagian dari API. Tapi saya mencari kerja di sekitar.
/**
* APIMethod: setLayer
* Attach a new layer to the control, overriding any existing layers.
*
* Parameters:
* layers - Array of {<OpenLayers.Layer.Vector>} or a single
* {<OpenLayers.Layer.Vector>}
*/
setLayer: function(layers) {
var isActive = this.active;
this.unselectAll();
this.deactivate();
if(this.layers) {
this.layer.destroy();
this.layers = null;
}
this.initLayer(layers);
this.handlers.feature.layer = this.layer;
if (isActive) {
this.activate();
}
},
openlayers-2
javascript
CaptDragon
sumber
sumber
Saya pikir ini adalah metode yang sangat berguna tetapi harus ditambahkan sebagai addLayer (Layer) dan dengan beberapa perubahan kecil untuk membuatnya menangani satu layer:
yang saya harap akan dimasukkan dalam permintaan tarik ini - https://github.com/openlayers/openlayers/pull/1287
Selain itu, pengguna tidak perlu memelihara daftar layer yang telah ditambahkan.
sumber