The following application is provided in the directory <installdir> /jviews-maps810/samples/loadmap/index.html
as part of the JViews
Maps demonstration software. This is a simple case where the
application loads a previously saved, read-only map in
.ivl
format, and displays it in the Map Builder main window. A map of
this type can be built using the Map Builder or the JViews Maps API:
-
Import the required packages and classes:
import ilog.views.IlvManagerView; import ilog.views.maps.IlvCoordinateSystemProperty; import ilog.views.maps.beans.IlvJMouseCoordinateViewer; import ilog.views.maps.beans.IlvMapLegend; import ilog.views.maps.srs.coordsys.IlvGeographicCoordinateSystem; import ilog.views.swing.IlvJManagerViewControlBar; import ilog.views.swing.IlvJScrollManagerView; import java.awt.BorderLayout; import java.awt.Dimension; import java.io.File; import javax.swing.JFrame;
-
Create the basic building blocks of the MapĀ Builder: create a frame containing the map beans, set it to exit when the Close button is pressed, set up the beans, and arrange the main window layout:
public class LoadMapDemo extends JFrame { IlvManagerView view=new IlvManagerView(); IlvJScrollManagerView viewScroll=new IlvJScrollManagerView(view); IlvJManagerViewControlBar viewToolbar = new IlvJManagerViewControlBar(); IlvJMouseCoordinateViewer locator=new IlvJMouseCoordinateViewer(); IlvMapLegend legend=new IlvMapLegend(); public LoadMapDemo() { super(); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); viewToolbar.setView(view); locator.setView(view); legend.setView(view); view.setSize(new Dimension(900, 450)); view.setKeepingAspectRatio(true); viewScroll.setPreferredSize(view.getSize()); view.getManager().setNamedProperty(new IlvCoordinateSystemProperty(IlvGeographicCoordinateSystem.WGS84)); getContentPane().add(viewToolbar,BorderLayout.NORTH); getContentPane().add(viewScroll,BorderLayout.CENTER); getContentPane().add(locator,BorderLayout.SOUTH); getContentPane().add(legend,BorderLayout.LINE_START); loadFile("data/county.ivl"); //$NON-NLS-1$ }
-
Load the file into the manager of the view:
public void loadFile(String filename){ try { IlvMapInputStream mapInput = new IlvMapInputStream(filename); mapInput.read(view.getManager()); view.fitTransformerToContent(); pack(); } catch(Exception ex){ ex.printStackTrace(); } }
-
Write the main method:
static public void main(String args[]) { javax.swing.SwingUtilities.invokeLater( new Runnable() { public void run() { final JFrame frame = new LoadMapDemo(); frame.pack(); frame.setVisible(true); } ); }