[Gvsig_desarrolladores] problema con setScaleView

Manuel de la Calle Alonso mdelacalle en gmail.com
Mar Oct 2 09:17:10 CEST 2007


Muchas gracias por la ayuda!!!
Si no me equivoco ese código es el de la extensión centerToPoint, ¿no?, de
hecho uso ese método primero y luego intento seleccionar un escala por tanto
lo que necesito es que
pasando una escala se actualize el extent, vamos en concreto necesito el
método setScaleView(long scale).
Otra idea sería calcular el extent a partir de la escala y luego
actualizarlo de la manera que hace este método que me has mandado, pero
he visto que setScaleView para hacer eso necesita el tamaño de la imagen del
viewport y en el momento que yo intento
actualizar la escala eso es nulo, por eso no me funciona el setScaleView,
supongo que eso deja de ser nulo cuando se ha pintado
completamente la imagen, ¿Puedo saber cuando es ese momento?. ¿Hay algún
método por ahí que calcule la escala a partir de un extent?

Un saludo y muchas gracias de nuevo.



On 10/2/07, Vicente Caballero Navarro <vicente.caballero en iver.es> wrote:
>
>  Hola Manuel.
>
> Te paso un trozo de código con el que puedes centrar la vista en un
> determinado punto y mantener el extent, a partir de esto puedes probar a
> cambiar el extent como quieras:
>
> *private void zoomToCoordinates(Point2D center) throws Exception {
>        try{
>         Rectangle2D oldExtent = mapControl.getViewPort
> ().getAdjustedExtent();
>         double oldCenterX = oldExtent.getCenterX();
>         double oldCenterY = oldExtent.getCenterY();
>
>         double movX = center.getX()-oldCenterX;
>         double movY = center.getY()-oldCenterY;
>         double upperLeftCornerX = oldExtent.getMinX()+movX;
>         double upperLeftCornerY = oldExtent.getMinY()+movY;
>         double width = oldExtent.getWidth();
>         double height = oldExtent.getHeight();
>         Rectangle2D extent = new Rectangle2D.Double(upperLeftCornerX,
> upperLeftCornerY, width, height);
>         mapControl.getViewPort().setExtent(extent);
>        }catch (NumberFormatException e) {
>            throw new Exception();
>        }
>
>     }*
>
>
>
> Manuel de la Calle Alonso escribió:
>
> Hola buenas, tengo un problemita haciendo unas cosas en un plugin y no sé
> muy bien como hacer, os cuento.
> El plugin abre un proyecto, luego lo centra en un punto y después debe
> ponerlo en la escala adecuada. En el método
> execute del plugin hago:
>
>
> execute() {
> //LEO PROPIEDADES
>
> //ABRO EL PROYECTO
>
> //CENTRO EN UN PUNTO
>
> //PONGO LA ESCALA ADECUADA PARA OBTENER UN EXTENT
> .....
> MapContext mapa = mapControl.getMapContext ();
> mapa.setScaleView(escala);
> .....
> }
>
> Al hacer eso, he visto que no se refresca la escala, parece ser que porque
> en el método setScaleView si es nulo el
> tamaño de la imagen, parece que no se refresca
>
> viewPort.getImageSize()
>
> ¿En qué momento deja de ser nulo el ImageSIze del viewport?
> ¿Cómo puedo saber cuando se ha terminado de pintar para poder hacer el
> setScaleView?
> ¿Hay alguna forma alternativa de poner el mapa en la escala?
>
> Un saludo y muchas gracias por la ayuda
>
> ------------------------------
>
> _______________________________________________
> gvSIG_desarrolladores mailing list
> gvSIG_desarrolladores en runas.cap.gva.eshttp://runas.cap.gva.es/mailman/listinfo/gvsig_desarrolladores
>
>  Un saludo.
>
> --
> Vicente Caballero Navarro
> Grupo desarrollo gvSIG.
> IVER TI S.A.
> C/ Lérida, 20
> 46005-Valencia
> Tlf.+34963354983
> www.iver.eswww.gvsig.com
>
>
> Este mensaje y sus archivos son confidenciales. No está permitida su
> reproducción o distribución sin la autorización expresa de "IVER Tecnologías
> de la Información". Si usted no es el destinatario previsto, queda
> desautorizado cualquier uso, acceso o copia de este mensaje. Si ha recibido
> este mensaje por error, por favor bórrelo e infórmenos por esta misma vía.
>
> _______________________________________________
> gvSIG_desarrolladores mailing list
> gvSIG_desarrolladores en runas.cap.gva.es
> http://runas.cap.gva.es/mailman/listinfo/gvsig_desarrolladores
>
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: http://runas.cap.gva.es/pipermail/gvsig_desarrolladores/attachments/20071002/d58380d0/attachment.htm


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