OpenLayers 2 memiliki acara layer ini "loadstart & loadend."
Apa yang setara dengan mereka di OpenLayers 3?
Sementara layer vektor memuat dan ditampilkan, saya perlu menampilkan ikon pemuatan.
openlayers
layers
events
loading
Mariam Malak
sumber
sumber
Jawaban:
Dengan asumsi Anda menggunakan
ol.layer.Vector
denganol.source.GeoJSON
Anda dapat menggunakan sesuatu seperti ini:Ini menunjukkan cara mendapatkan notifikasi ketika sumber vektor dimuat. Ini hanya bekerja dengan sumber yang diwarisi dari
ol.source.StaticVector
. Contohnya termasukol.source.GeoJSON
danol.source.KML
.Juga, perhatikan bahwa kode ini mungkin tidak lagi berfungsi di masa mendatang ketika ol3 akan memberikan cara yang konsisten untuk mengetahui apakah / ketika suatu sumber dimuat.
sumber
vectorSource.once('change', function(e){...}
?Dalam ol3 versi 3.10.0 hal telah berubah. Jadi lebih jelas daripada versi yang lebih lama tetapi masih lebih rumit daripada ol2.
Jadi untuk lapisan TILE (ol.layer.Tile) snip kode Anda akan terlihat seperti:
sedangkan untuk lapisan WMS pendekatannya sedikit berbeda:
Untuk lapisan Vektor WFS, masalahnya bahkan lebih rumit:
periksa posting ini. ia memiliki semua + biola untuk lapisan vektor WFS
sumber
Saya belum menemukan kelas
ol.source.GeoJSON
, dan tidak dapat menemukan kasus di manavectorSource.getState() != 'ready'
. Jadi saya akhirnya melakukan sesuatu seperti ini:sumber
Anda juga dapat menggunakan getState () function
sumber
source.getState()
selalu kembali 'siap'Pada OL 4.5.0, untuk layer vektor saya belum menemukan cara untuk berurusan dengan sumbernya, sebagai gantinya saya menggunakan yang berikut ini pada event layer:
Semoga bisa membantu.
sumber