[Gvsig_desarrolladores] Pintar etiqueta en MemoryDriver
Maria Arias de Reyna
marias en emergya.es
Jue Feb 5 10:48:53 CET 2009
Estoy intentando poner etiquetas a algunas geometrías mediante un
MemoryDriver. Consigo que me pinte las geometrías, pero no consigo ver las
etiquetas.
El tamaño de la fuente no es el problema, porque lo uso en otras capas
(cargadas de un shape) y se ven las etiquetas de esas otras capas.
El driver que utilizo es la implementación más simple de un MemoryDriver que
se puede hacer.
El código que estoy utilizando es este:
String label = "etiqueta";
this.driver.getTableModel().setColumnIdentifiers(new String[] {label});
FLyrVect layer = (FLyrVect) LayerFactory.createLayer("Capa", driver,
CRSFactory.getCRS("EPSG:23030"));
SingleSymbolLegend legend = (SingleSymbolLegend) layer.getLegend();
legend.setLabelField(label);
FSymbol symbol = new FSymbol(FShape.MULTI);
symbol.setFontSize(fontSize);
symbol.setColor(Color.BLUE);
symbol.setFontSizeInPixels(false);
symbol.setRotation(0);
symbol.setFontColor(Color.BLUE);
symbol.setFont(labelFont);
symbol.setShapeVisible(true);
legend.setDefaultSymbol(symbol);
layer.setLegend(legend);
mapContext.getLayers().addLayer(
this.getNewMapControl().getMapContext().getLayers()
.getLayersCount(), layer);
//Y añado las geometrías con su correspondiente etiqueta:
this.driver.addGeometry(geom, new Object[] {
ValueFactory.createValue("etiqueta") });
Como ya he dicho, el código pinta bien las geometrías, pero no pinta las
etiquetas.
--
María Arias de Reyna Domínguez
Emergya Consultoría
Más información sobre la lista de distribución gvSIG_desarrolladores