1、打开eclipse,建立tomcat工程,将mapxtreme安装目录下的lib目录下的三个文件夹(client,comments,server)里面的文件(注意是文件,不要连文件夹一起拷贝)拷贝到刚才建立的工程目录下的WEB-Info/lib目录下,在eclipse中右击工程名——》属性——》javabuliderpath——》labraries,点击add external jars,将刚才拷贝的文件全部选择,添加到工程的工程的应用中
2、建立MakePNG类:
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
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 public class outMap extends HttpServlet {
15 static final long serialVersionUID = 1L;
16 /**//* (non-Java-doc)
17 * @see javax.servlet.http.HttpServlet#HttpServlet()
18 */
19 public outMap() {
20 super();
21 }
22
23 /**//* (non-Java-doc)
24 * @see javax.servlet.http.HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
25 */
26 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);
33 try{
34 mxir.render(ImageRequestComposer.create(mj, ImageRequestComposer.MAX_COLORS_256, Color.white, "image/png"));
35 mxir.toStream(response.getOutputStream());
36 }catch(Exception e){
37 e.printStackTrace();
38 }
39 }
40
41 /**//* (non-Java-doc)
42 * @see javax.servlet.http.HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
43 */
44 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
45 // TODO Auto-generated method stub
46 this.doGet(request, response);
47 }
48}
49
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 public class outMap extends HttpServlet {
15 static final long serialVersionUID = 1L;
16 /**//* (non-Java-doc)
17 * @see javax.servlet.http.HttpServlet#HttpServlet()
18 */
19 public outMap() {
20 super();
21 }
22
23 /**//* (non-Java-doc)
24 * @see javax.servlet.http.HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
25 */
26 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);
33 try{
34 mxir.render(ImageRequestComposer.create(mj, ImageRequestComposer.MAX_COLORS_256, Color.white, "image/png"));
35 mxir.toStream(response.getOutputStream());
36 }catch(Exception e){
37 e.printStackTrace();
38 }
39 }
40
41 /**//* (non-Java-doc)
42 * @see javax.servlet.http.HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
43 */
44 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 %>
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 %>