一、如何控制地图显示,比如缩小,放大。查看地图整体还是部分。通过MapJ类来操作。

// 生成图片尺寸
myMap.setDeviceBounds(new DoubleRect(0, 0, 800, 600));
// 设置地图的横向跨度,单位有地图的距离单位决定,如果当前距离单位是千米,则表示地图跨越1000千米
myMap.setZoom(1000);
// 设置地图中心,将地图中心定位在鼠标点击的某一点
// 创建屏幕坐标的Point对象,屏幕上x:event.getX(),屏幕上y:event.getY()
DoublePoint screenpoint = new DoublePoint(event.getX(),event.getY());
// 将屏幕坐标转换为地理坐标
DoublePoint worldpoint = myMap.transformScreenToNumeric(screenpoint);
// 设置地图中心
myMap.setCenter(worldpoint);
//设置地图的边界,所有的地图操作都在这个边界内进行
//方法1:给定边界的左下角和右上角,设定边界。
DoubleRect bounds = new DoubleRect(-180,-90,180,90);
myMap.setBounds(bounds);
//方法2:给定地图的中心,宽度和高度,设定边界。
DoubleRect bounds = new DoubleRect(new DoublePoint(0,0),360,180);
myMap.setBounds(bounds);
//设置地图投影 坐标数据存储在server\mapinfow.prj文件中,包含上百种投影。
String csProj = new String("\"Azimuthal Equidistant(North Pole)\", 5, 62, 7, 0, 90, 90");
CoordSys ts = CoordSys.createFromPRJ(csProj);
//设置地图距离单位
LinearUnit distUnit = LinearUnit.kilometer;
myMap.setDistanceUnits(distUnit);

 二、添加图层

也可以使用 Layers.addLayer 或 Layers.addNamedLayer 方法单独添加图层。这些方法会将图层置于
集合的末端。位于集合末端的图层是底层图层,会最先绘制。Layers.insertLayer 或 insertNamedLayer
用于控制图层的位置。
Layers 集合中的地图图层将按照从 0 开始的索引以升序显示。FeatureLayer(0) 是顶层的图层,
FeatureLayer(1) 是 FeatureLayer(0) 下面的图层,依此类推,底层图层最先绘制,顶层图层最后绘制。
数据提供方定义图层
要将图层添加到 Layers 集合,必须先对其进行定义。每个图层均有一个负责数据访问的内部对象,这个对象就是数据提供方。
TableDescHelper — 说明数据
DataProviderHelper — 定义数据源
DataProviderRef — 说明如何获取数据

Layers layers = mapj.getLayers();
TableDescHelper tableDescHelper = new TABTableDescHelper(new File("Query22.TAB").getName());
DataProviderHelper dataProviderHelper = new TABDataProviderHelper(dataDir);//dataDir:.TAB文
件存放目录
DataProviderRef dataProviderRef = new MapXtremeDataProviderRef(dataProviderHelper,
mapxtremeurl);//mapxtremeurl:http://localhost:8090/MapXtreme/servlet/mapxtreme
layers.add(dataProviderRef, tableDescHelper, "otherLayer");