Hola Francisco,

Gracias por la respuesta. Tenía implementado un método para refrescar que 
consistía en mover el extent 100 metros y luego volver a la posición inicial. 
Me faltaba refrescar el extent del mapcontext, pero aún así hay ocasiones en 
las que me sigue ocurriendo lo mismo. El método que he implementado es el 
siguiente:

        IView view = (IView) PluginServices.getMDIManager().getActiveWindow();
        MapControl mc = view.getMapControl();
                
        mc.getMapContext().beginAtomicEvent();
                
        Rectangle2D oldExtent = mc.getViewPort().getAdjustedExtent();
        
        double upperLeftCornerX = oldExtent.getMinX()-100;
        double  upperLeftCornerY = oldExtent.getMinY()-100;
        double width = oldExtent.getWidth();
        double height = oldExtent.getHeight();
        Rectangle2D extent = new Rectangle2D.Double(upperLeftCornerX, 
upperLeftCornerY, width, height);
        mc.getViewPort().setExtent(extent);
        
        com.iver.andami.ui.mdiManager.IWindow view2 = 
PluginServices.getMDIManager().getActiveWindow();
                if (!(view2 instanceof View))
                        return;
        View vista=(View)view2;
        ((ProjectDocument)vista.getModel()).setModified(true);
        
        mc.drawMap(true);
                
        GraphicLayer gl = mc.getMapContext().getGraphicsLayer(); 
        gl.clearAllGraphics(); 

        // SET EXTENT and be sure the viewport reflects it. 
        mc.getViewPort().refreshExtent(); 
        
        upperLeftCornerX = oldExtent.getMinX()+100;
        upperLeftCornerY = oldExtent.getMinY()+100;
        
        extent = new Rectangle2D.Double(upperLeftCornerX, upperLeftCornerY, 
width, height);
        gl = mc.getMapContext().getGraphicsLayer(); 
        gl.clearAllGraphics(); 

        // SET EXTENT and be sure the viewport reflects it. 
        mc.getViewPort().setExtent(extent); 
        mc.getViewPort().refreshExtent(); 
        
        view2 = PluginServices.getMDIManager().getActiveWindow();
                if (!(view2 instanceof View))
                        return;
        vista=(View)view2;
        ((ProjectDocument)vista.getModel()).setModified(true);
        
        mc.drawMap(true);
        
        mc.getMapContext().endAtomicEvent(); 

La verdad es que no consigo saber por qué ocurre esto. 

Gracias.

Un saludo,


David Alda Fernández de Lecea
GIS Analista Programadorea / Analista Programador GIS
KONTSULTORIA  UNITATEA / UNIDAD DE CONSULTORÍA

Granja Modelo s/n
01192 Arkaute Araba
T 945 003 295 F 945 003 290
[email protected] | www.hazi.es

 



*********************  LEGE OHARRA   *******************   AVISO LEGAL   
*******************   DISCLAIMER   ******************

Mezu hau pertsonala eta isilpekoa da eta baimenik gabeko erabilera debekatua 
dago legalki. Jasotzailea ez bazara ezabatu mezua, bidali eta kontserbatu gabe.

Este mensaje es personal y confidencial y su uso no autorizado está prohibido 
legalmente. Si usted no es el destinatario, proceda a borrarlo, sin reenviarlo 
ni conservarlo.

This message is personal and confidential, unauthorised use is legally 
prohibited. If you are not the intended recipient, delete it without resending 
or backing it.


-----Mensaje original-----
De: [email protected] 
[mailto:[email protected]] En nombre de Francisco 
Puga
Enviado el: lunes, 28 de mayo de 2012 16:12
Para: Lista de Desarrolladores de gvSIG
Asunto: Re: [Gvsig_desarrolladores]Funcionamiento extraño en capa de eventos

Creo que estos dos hilos pueden ayudarte:

http://osgeo-org.1560.n6.nabble.com/Error-en-FFrameView-al-generar-un-mapa-td4368631.html

http://osgeo-org.1560.n6.nabble.com/Get-image-from-view-problems-integrating-it-with-viewport-setExtent-td4175839.html

El 22 de mayo de 2012 09:51, David Alda Fernandez de Lezea <[email protected]> 
escribió:
>
> Hola,
>
> Estoy trabajando en una extensión sobre gvSIG 1.11 en la que se tienen que 
> borrar unos puntos de una capa de eventos. Esta capa de eventos tira de un 
> access a través de ODBC. El borrado lo hago bien a través de SQL contra la 
> BD, pero tengo un problema con el refresco del viewport. A pesar de que borro 
> los puntos en la BD, en el viewport no desaparecen. Llegan a desaparecer si 
> hago un zoom menos, o si clicko en otra parte del mapa. A veces si que se 
> eliminan los puntos del viewport, pero no sigue un comportamiento estable. No 
> sé si me he explicado bien.
>
> A parte de eso, he intentado hacer un reload de la capa pero me lanza 
> la excepcion
>
> ReloadLayerException
>
> ¿Qué puede estar ocurriendo?
>
> Gracias.
>
> Un saludo,
>
>
> David Alda Fernández de Lecea
> GIS Analista Programadorea / Analista Programador GIS KONTSULTORIA  
> UNITATEA / UNIDAD DE CONSULTORÍA
>
> Granja Modelo s/n
> 01192 Arkaute Araba
> T 945 003 295 F 945 003 290
> [email protected] | www.hazi.es
>
> *********************  LEGE OHARRA   *******************   AVISO LEGAL   
> *******************   DISCLAIMER   ******************
>
> Mezu hau pertsonala eta isilpekoa da eta baimenik gabeko erabilera debekatua 
> dago legalki. Jasotzailea ez bazara ezabatu mezua, bidali eta kontserbatu 
> gabe.
>
> Este mensaje es personal y confidencial y su uso no autorizado está prohibido 
> legalmente. Si usted no es el destinatario, proceda a borrarlo, sin 
> reenviarlo ni conservarlo.
>
> This message is personal and confidential, unauthorised use is legally 
> prohibited. If you are not the intended recipient, delete it without 
> resending or backing it.
>
>
>
> _______________________________________________
> gvSIG_desarrolladores mailing list
> [email protected]
> Para ver histórico de mensajes, editar sus preferencias de usuario o 
> darse de baja en esta lista, acuda a la siguiente dirección: 
> http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores
>



--
Francisco Puga
Grupo de Desarrollo
Cartolab - Laboratorio de Ingeniería Cartográfica.
http://www.cartolab.es

ETS Ingeniería de Caminos, Canales y Puertos Universidade da Coruña Campus de 
Elviña - 15071 A Coruña (España) (34)981167000 ext. 5493 
_______________________________________________
gvSIG_desarrolladores mailing list
[email protected]
Para ver histórico de mensajes, editar sus preferencias de usuario o darse de 
baja en esta lista, acuda a la siguiente dirección: 
http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores
_______________________________________________
gvSIG_desarrolladores mailing list
[email protected]
Para ver histórico de mensajes, editar sus preferencias de usuario o darse de 
baja en esta lista, acuda a la siguiente dirección: 
http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores

Responder a