MapInfo的web发布——长征第一步

最简单的web页面显示地图,eclipse + jsp + MapInfo mapxtreme
1、打开eclipse,建立tomcat工程,将mapxtreme安装目录下的lib目录下的三个文件夹(client,comments,server)里面的文件(注意是文件,不要连文件夹一起拷贝)拷贝到刚才建立的工程目录下的WEB-Info/lib目录下,在eclipse中右击工程名——》属性——》javabuliderpath——》labraries,点击add external jars,将刚才拷贝的文件全部选择,添加到工程的工程的应用中

2、建立MakePNG类:

ContractedBlock.gif ExpandedBlockStart.gif Code
 1 package Map;
 2 
 3 import java.awt.Color;
 4 import java.io.IOException;
 5 import com.mapinfo.mapj.MapJ;
 6 import com.mapinfo.mapxtreme.client.MapXtremeImageRenderer;
 7 import com.mapinfo.unit.LinearUnit;
 8 import com.mapinfo.util.DoubleRect;
 9 import com.mapinfo.xmlprot.mxtj.ImageRequestComposer;
10 public class MakePNG {
11     public MapJ initMap() throws IOException{
12         MapJ mj = new MapJ();
13         mj.setDeviceBounds(new DoubleRect(0,0,600,400));
14         mj.loadMapDefinition("E:/projects/GIS/mdf/chz.mdf");
15         mj.setDistanceUnits(LinearUnit.meter);
16         return mj;
17     }
18     public void outMap(MapJ mj) throws Exception{
19         String mapxPath = "http://localhost:8080/mapxtreme471/servlet/mapxtreme";
20         MapXtremeImageRenderer mxir = new MapXtremeImageRenderer(mapxPath);
21         mxir.render(ImageRequestComposer.create(mj, ImageRequestComposer.MAX_COLORS_256, Color.white, "image/png"));
22         mxir.toFile("e:/mapcz.png");
23     }
24     public static void main(String[] args) throws Exception{
25         MakePNG mp3 = new MakePNG();
26         MapJ mj = mp3.initMap();
27         mp3.outMap(mj);
28     }
29 }
30 

 3、建立输出图片的servlet:

 1 package  Map;
 2
 3 import  java.awt.Color; 
 4
 5 import  java.io.IOException;
 6 import  javax.servlet.http.HttpServlet;
 7 import  javax.servlet.ServletException;
 8 import  javax.servlet.http.HttpServletRequest;
 9 import  javax.servlet.http.HttpServletResponse;
10
11 import  com.mapinfo.mapj.MapJ;
12 import  com.mapinfo.mapxtreme.client.MapXtremeImageRenderer;
13 import  com.mapinfo.xmlprot.mxtj.ImageRequestComposer;
14 ExpandedBlockStart.gifContractedBlock.gif public   class  outMap  extends  HttpServlet  {
15       static final long serialVersionUID = 1L;
16ExpandedSubBlockStart.gifContractedSubBlock.gif        /**//* (non-Java-doc)
17         * @see javax.servlet.http.HttpServlet#HttpServlet()
18         */

19ExpandedSubBlockStart.gifContractedSubBlock.gif        public outMap() {
20            super();
21        }

22        
23ExpandedSubBlockStart.gifContractedSubBlock.gif        /**//* (non-Java-doc)
24         * @see javax.servlet.http.HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
25         */

26ExpandedSubBlockStart.gifContractedSubBlock.gif        protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
27            // TODO Auto-generated method stub
28            response.setContentType("image/png");
29            MakePNG mp3 = new MakePNG();
30            MapJ mj = mp3.initMap();
31            String mjHttp = "http://localhost:8080/mapxtreme471/servlet/mapxtreme";
32            MapXtremeImageRenderer mxir = new MapXtremeImageRenderer(mjHttp);
33ExpandedSubBlockStart.gifContractedSubBlock.gif            try{
34                mxir.render(ImageRequestComposer.create(mj, ImageRequestComposer.MAX_COLORS_256, Color.white, "image/png"));
35                mxir.toStream(response.getOutputStream());
36ExpandedSubBlockStart.gifContractedSubBlock.gif            }
catch(Exception e){
37                e.printStackTrace();
38            }

39        }
      
40        
41ExpandedSubBlockStart.gifContractedSubBlock.gif        /**//* (non-Java-doc)
42         * @see javax.servlet.http.HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
43         */

44ExpandedSubBlockStart.gifContractedSubBlock.gif        protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
45            // TODO Auto-generated method stub
46            this.doGet(request, response);
47        }
   
48}

49

 4、建立用于显示地图的jsp页面:

 

 1  <% @ page language = " java "  contentType = " text/html; charset=ISO-8859-1 "
 2      pageEncoding = " ISO-8859-1 " %>
 3  <! DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd" >
 4  < html >
 5  < head >
 6  < meta  http-equiv ="Content-Type"  content ="text/html; charset=ISO-8859-1" >
 7  < title > Insert title here </ title >
 8  </ head >
 9  < body >
10       < img  src ="outMap" >
11  </ body >
12  </ html >
13  <%
14  out.println( " hello money " );
15  %>

转载于:https://www.cnblogs.com/firefly_liu/articles/1283996.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值