[Gvsig_desarrolladores] Actualizar un solo layer sin redibujar el resto

Francisco SC panchazo en gmail.com
Jue Dic 27 13:33:37 CET 2007


Que tal, antes que nada saludos a todos ya que soy nuevo en el desarrollo de
gvSig.

Llendo al punto, estoy desarrollando un plugin para hacer rastreo de flotas
que lee feeds geoRSS a partir del plugin de
http://geomaticblog.net/gb2/es/2007-08-15-georss_gvsig_%282a_parte%29 .

El punto es que cada X tiempo necesito tomar el layer donde estan los íconos
que representan los vehìculos y actualizarlo con las nuevas ubicaciones.
Pero sucede que cuando tomo el layer, lo borro y vuelvo a agregar el
actualizado TODOS los layers desaparecen una fraccion de segundo y se
redibujan generando un parpadeo del mapa que resulta ser muy molesto. De más
está señalar que todo esto corre en un thread independiente.

El còdigo que uso actualmente para eliminar el layer "viejo" y agregar el
actualizado es:

        MapContext mapcontext = ((View)
iwin).getMapControl().getMapContext();

        FLayer lyrTemp = mapcontext.getLayers().getLayer(layer.getName());

        if (lyrTemp != null)
            mapcontext.getLayers().removeLayer(lyrTemp);

        if (!layer.isVisible())
            layer.setVisible(true);

        mapcontext.getLayers().addLayer(layer);

Desde ya muchas gracias y feliz año nuevo para todos.

Francisco Sanchez Clariá
Córdoba, Argentina.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: http://runas.cap.gva.es/pipermail/gvsig_desarrolladores/attachments/20071227/03648f13/attachment.htm


Más información sobre la lista de distribución gvSIG_desarrolladores