OpenLayers 2 tiene estos eventos de capa "loadstart & loadend".
¿Qué es equivalente a ellos en OpenLayers 3?
Mientras se carga y se procesa una capa vectorial, necesito mostrar un icono de carga.
openlayers
layers
events
loading
Mariam Malak
fuente
fuente
Respuestas:
Suponiendo que use un
ol.layer.Vector
con unol.source.GeoJSON
puede usar algo como esto:Esto muestra cómo obtener una notificación cuando se carga la fuente del vector. Solo funciona con fuentes heredadas de
ol.source.StaticVector
. Los ejemplos incluyenol.source.GeoJSON
yol.source.KML
.Además, tenga en cuenta que es posible que este código ya no funcione en el futuro cuando ol3 proporcionará una forma consistente de saber si / cuando se carga una fuente.
fuente
vectorSource.once('change', function(e){...}
?En ol3 versión 3.10.0 las cosas han cambiado. Por lo tanto, es más claro que las versiones anteriores, pero aún más complicado que ol2.
Entonces, para las capas TILE (ol.layer.Tile), su recorte de código debería verse así:
mientras que para las capas WMS el enfoque es un poco diferente:
Para las capas de vectores WFS, las cosas son aún más complicadas:
mira esta publicación tiene todo lo anterior + un violín para las capas vectoriales WFS
fuente
No he encontrado la clase
ol.source.GeoJSON
, y no pude encontrar un caso dondevectorSource.getState() != 'ready'
. Así que terminé haciendo algo como esto:fuente
también puedes usar la función getState ()
fuente
source.getState()
siempre regresa 'listo'En OL 4.5.0, para las capas vectoriales no he encontrado una forma de tratar con la fuente, en su lugar, uso lo siguiente en los eventos de capa:
Espero que pueda ayudar.
fuente