package com.testmap;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import javax.swing.JFrame;
import com.mapinfo.beans.tools.MapToolBar;
import com.mapinfo.beans.vmapj.VisualMapJ;
import com.mapinfo.mapdefcontainer.FileMapDefContainer;
import com.mapinfo.mapdefcontainer.MapDefContainer;
import com.mapinfo.mapj.MapJ;
import com.mapinfo.mapxtreme.client.MapXtremeImageRenderer;
import com.mapinfo.unit.LinearUnit;
import com.mapinfo.util.DoublePoint;
import com.mapinfo.util.DoubleRect;
import com.mapinfo.xmlprot.mxtj.ImageRequestComposer;
public class TestMap extends JFrame {
/**
* @param args
*/
BorderLayout layout = new BorderLayout();
MapToolBar mbar = new MapToolBar();
VisualMapJ vj = new VisualMapJ();
public TestMap() {
super();
try {
jbInit();
}
catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
JFrame jf = new TestMap();
jf.setVisible(true);
}
public void jbInit() throws Exception{
vj.setShowToolTips(true);
this.getContentPane().setLayout(layout);
this.setSize(new Dimension(800,800));
this.getContentPane().add(mbar,layout.NORTH);
this.getContentPane().add(vj,layout.CENTER);
//加载GeoSet地图图像
vj.getMapJ().loadGeoset("E://workspace//TestMap//bin//com//testmap//data//world.gst", "E://workspace//TestMap//bin//com//testmap//data//", null);
//获取当前MapJ对象
MapJ mapj= vj.getMapJ();
//设置图像尺寸
mapj.setDeviceBounds(new DoubleRect(0,0,800,600));
//设置地图视野(Zoom)
mapj.setZoom(30000);
/*
//设置地图的边界一 给定边界的左下角和右上角坐标
DoubleRect bounds = new DoubleRect(-180,-90,180,90);
mapj.setBounds(bounds);
*/
//设置地图边界二 给定地图的中心,宽度和高度
DoubleRect bounds = new DoubleRect(new DoublePoint(36,18),360,180);
mapj.setBounds(bounds);
//设置地图距离单位
LinearUnit distUnit = LinearUnit.kilometer;
mapj.setDistanceUnits(distUnit);
//保存地图定义
//1.保存为地图定义文件
MapDefContainer mdc = new FileMapDefContainer("E://workspace//TestMap//bin//com//testmap//data");
mapj.saveMapDefinition(mdc,"worldmap");
//2.保存在数据库表中
//String driverName = "com.ibm.db2.jcc.DB2Driver";
}
}
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import javax.swing.JFrame;
import com.mapinfo.beans.tools.MapToolBar;
import com.mapinfo.beans.vmapj.VisualMapJ;
import com.mapinfo.mapdefcontainer.FileMapDefContainer;
import com.mapinfo.mapdefcontainer.MapDefContainer;
import com.mapinfo.mapj.MapJ;
import com.mapinfo.mapxtreme.client.MapXtremeImageRenderer;
import com.mapinfo.unit.LinearUnit;
import com.mapinfo.util.DoublePoint;
import com.mapinfo.util.DoubleRect;
import com.mapinfo.xmlprot.mxtj.ImageRequestComposer;
public class TestMap extends JFrame {
/**
* @param args
*/
BorderLayout layout = new BorderLayout();
MapToolBar mbar = new MapToolBar();
VisualMapJ vj = new VisualMapJ();
public TestMap() {
super();
try {
jbInit();
}
catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
JFrame jf = new TestMap();
jf.setVisible(true);
}
public void jbInit() throws Exception{
vj.setShowToolTips(true);
this.getContentPane().setLayout(layout);
this.setSize(new Dimension(800,800));
this.getContentPane().add(mbar,layout.NORTH);
this.getContentPane().add(vj,layout.CENTER);
//加载GeoSet地图图像
vj.getMapJ().loadGeoset("E://workspace//TestMap//bin//com//testmap//data//world.gst", "E://workspace//TestMap//bin//com//testmap//data//", null);
//获取当前MapJ对象
MapJ mapj= vj.getMapJ();
//设置图像尺寸
mapj.setDeviceBounds(new DoubleRect(0,0,800,600));
//设置地图视野(Zoom)
mapj.setZoom(30000);
/*
//设置地图的边界一 给定边界的左下角和右上角坐标
DoubleRect bounds = new DoubleRect(-180,-90,180,90);
mapj.setBounds(bounds);
*/
//设置地图边界二 给定地图的中心,宽度和高度
DoubleRect bounds = new DoubleRect(new DoublePoint(36,18),360,180);
mapj.setBounds(bounds);
//设置地图距离单位
LinearUnit distUnit = LinearUnit.kilometer;
mapj.setDistanceUnits(distUnit);
//保存地图定义
//1.保存为地图定义文件
MapDefContainer mdc = new FileMapDefContainer("E://workspace//TestMap//bin//com//testmap//data");
mapj.saveMapDefinition(mdc,"worldmap");
//2.保存在数据库表中
//String driverName = "com.ibm.db2.jcc.DB2Driver";
}
}