From: Robert N. <rn...@cs...> - 2004-08-11 18:27:44
|
Hi, I am trying to display a map using geotools. I followed the tutorial on maps and styles, but I could not get the map to display (I did get a map pane to show - but no map showed inside it). LIkely I am doing something wrong. Any help would be greatly appreciated. My code is provided below. Thanks a lot. Robert ------------------- public void buildMapDisplay(String datasource, String title) { try { // get feature info - features, types URL file = new File(datasource).toURL(); ShapefileDataStore store = new ShapefileDataStore(file); String name = store.getTypeNames()[0]; FeatureSource source = store.getFeatureSource(name); StyleFactoryImpl styleFactory = new StyleFactoryImpl(); StyleBuilder sb = new StyleBuilder(); Mark mark = sb.createMark("Blue", Color.BLUE); Graphic graphic = sb.createGraphic(); PolygonSymbolizer symbolBlue = sb.createPolygonSymbolizer(Color.BLUE); Style style = sb.createStyle(title, symbolBlue); // style.addFeatureTypeStyle(sb.createFeatureTypeStyle(title, symbolBlue)); // new Symbolizer[] { sb.createPolygonSymbolizer(Color.BLUE) })); DefaultMapLayer mapLayer = new DefaultMapLayer(source, style);//sstyleFactory.createStyle()); MapContext map = new DefaultMapContext(); boolean addedLayer = map.addLayer(mapLayer); FeatureSource fs = mapLayer.getFeatureSource(); // Show the map StyledMapPane mapPane = new StyledMapPane(); mapPane.setMapContext(map); mapPane.getRenderer().addLayer(new RenderedMapScale()); JFrame frame = new JFrame(); frame.setTitle(title); frame.setContentPane(mapPane.createScrollPane()); frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); frame.setSize(640, 480); frame.show(); }catch (MismatchedDimensionException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } } |