[Gvsig_desarrolladores] Mostrar icono

Toni Ramiro anrapas en gmail.com
Jue Oct 1 12:06:14 CEST 2009


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>

> 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
>
> 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>>
> >    <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
> >
>
> _______________________________________________
> gvSIG_desarrolladores mailing list
> gvSIG_desarrolladores en listserv.gva.es
> http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores
>



-- 
Saludos,
   Toni Ramiro
   <anrapas en gmail.com>
   <aramiro151r en cv.gva.es>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: http://listserv.gva.es/pipermail/gvsig_desarrolladores/attachments/20091001/8f9002fd/attachment.htm 


More information about the gvSIG_desarrolladores mailing list