[Gvsig_desarrolladores] Mostrar icono

Francisco José Peñarrubia fpenarru en gmail.com
Jue Oct 1 12:35:20 CEST 2009


Hola Toni.

Revisa bien lo que te he pasado. No se crea el símbolo con 
SYMBOL_STYLE_MARKER_IMAGEN:

            theSymbol = new FSymbol(FConstant.SYMBOL_TYPE_POINT);    // 
Es un símbolo para puntos
            theSymbol.setStyle(FConstant.SYMBOL_STYLE_MARKER_IMAGEN);   
// Con un estilo de tipo MARKER_IMAGEN.

Es decir, cambia el constructor, y añade una línea con setStyle

Saludos.

Fran Peñarrubia
www.scolab.es


Toni Ramiro escribió:
> Muchas gracias Francisco.
>
> He desarrollado esto:
>
> theSymbol = new FSymbol(FConstant.SYMBOL_STYLE_MARKER_IMAGEN);
> String fichero "file:///ruta//al//fichero.ico";
> URI ficheroImagen = new URI(fichero);
> theSymbol.setIconURI(ficheroImagen);
> theSymbol.setSize(100);
>
> Pero solamente muestra un circulo, en vez de la imágen. ¿Os suena que 
> pueda ser?
>
> Muchas gracias.
>
> 2009/10/1 Francisco José Peñarrubia <fpenarru en gmail.com 
> <mailto:fpenarru en gmail.com>>
>
>     Hola Toni.
>
>     Prueba con algo así:
>
>                theSymbol.setStyle(FConstant.SYMBOL_STYLE_MARKER_IMAGEN);
>                theSymbol.setIcon(m_Icon);
>     donde m_Icon es un objeto Image (lo cargas desde un fichero png, por
>     ejemplo).
>
>     Con la versión 1.9, la simbología ha cambiado y tienes más
>     posibilidades
>     (usar un SVG, por ejemplo => No uses FSymbol, prueba
>     PictureMarkerSymbol
>     o CharacterMarkerSymbol). En cualquier caso, esto debería funcionar en
>     las dos versiones.
>
>     Saludos.
>
>     Fran Peñarrubia
>     www.scolab.es <http://www.scolab.es>
>
>     Toni Ramiro escribió:
>     > Lo siento, pero el mensaje anterior estaba incompleto.
>     >
>     > He realizado una librería que muestra un punto en un mapa. Las
>     > instrucciones que uso para crear el punto y mostrarlo son las
>     siguientes:
>     >
>     > View vista = null;
>     > IWindow[] v = PluginServices.getMDIManager().getAllWindows();
>     > for (int i = 0; i < v.length && vista == null; i++)
>     >     if (v[i].getWindowInfo().getTitle().equals("Vista : Mapa"))
>     >         vista = (View)v[i];
>     > MapContext mapContext = vista.getModel().getMapContext();
>     > MapControl mapControl = new MapControl();
>     > mapControl.setMapContext(mapContext);
>     > GraphicLayer lyr = mapControl.getMapContext().getGraphicsLayer();
>     > FSymbol theSymbol = new FSymbol(FConstant.SYMBOL_TYPE_POINT);
>     > theSymbol.setSize(10);
>     > int idSymbol = lyr.addSymbol(theSymbol);
>     > try {
>     >     IGeometry geom = ShapeFactory.createPoint2D(X, Y);
>     >     MapControl mapControl;
>     >     FGraphic grDibujo = new FGraphic(geom, idSymbol);
>     >     lyr.addGraphic(grDibujo);
>     >     mapControl.getViewPort().refreshExtent();
>     > } catch (Exception e) {
>     > }
>     >
>     > Ahora me gustaría sustituir el punto que muestra por un dibujo
>     de (por
>     > ejemplo) un avión. Me imagino que habrá que sustituir la linea
>     en rojo
>     > por otra que cree el simbolo del avión.
>     >
>     > ¿Sabeis como se hace?
>     >
>     > Muchisimas gracias!!!
>     >
>     >
>     > --
>     > Saludos,
>     >    Toni Ramiro
>     >    <anrapas en gmail.com <mailto:anrapas en gmail.com>
>     <mailto:anrapas en gmail.com <mailto:anrapas en gmail.com>>>
>     >    <aramiro151r en cv.gva.es <mailto:aramiro151r en cv.gva.es>
>     <mailto:aramiro151r en cv.gva.es <mailto:aramiro151r en cv.gva.es>>>
>     >
>     >
>     ------------------------------------------------------------------------
>     >
>     > _______________________________________________
>     > gvSIG_desarrolladores mailing list
>     > gvSIG_desarrolladores en listserv.gva.es
>     <mailto:gvSIG_desarrolladores en listserv.gva.es>
>     >
>     http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores
>     >
>
>     _______________________________________________
>     gvSIG_desarrolladores mailing list
>     gvSIG_desarrolladores en listserv.gva.es
>     <mailto:gvSIG_desarrolladores en listserv.gva.es>
>     http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores
>
>
>
>
> -- 
> Saludos,
>    Toni Ramiro
>    <anrapas en gmail.com <mailto:anrapas en gmail.com>>
>    <aramiro151r en cv.gva.es <mailto:aramiro151r en cv.gva.es>>
> ------------------------------------------------------------------------
>
> _______________________________________________
> gvSIG_desarrolladores mailing list
> gvSIG_desarrolladores en listserv.gva.es
> http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores
>   



More information about the gvSIG_desarrolladores mailing list