3.3.3 编写生成地图的服务端代码这里所指的生成地图的服务端代码是指web服务器中servlet响应客户端请求生成图片信息的代码,具体讲就是指servlet中重写的doGet( )方法中的代码。特别注意的是,这里所指的生成地图的代码是我们通过调用MapJ的API向地图服务器发送生成地图请求的代码;相对地图服务器而言,我们这里编写的又是地图服务的客户端代码;相当于web应用而言,我们这里编写的却又是服务端代码。
下面我们以一个实例来介绍如何调用MapJ API编写生成地图的服务端代码。
第一步:向地图服务器发送请求生成地图
// 输出图片的格式
private static String mimeType = "image/gif";
// mapxtremeservlet地图服务器url
private static String m_mxtURL = "http://localhost:80/mapxtreme480/servlet/mapxtreme";
// 实现HttpServlet的doGet方法
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
// 设置ContentType
response.setContentType(mimeType);
// 返回响应的输出流
ServletOutputStream sos = response.getOutputStream();
// 创建MapJ对象
MapJ m_mapj = new MapJ();
try {
// 加载地图
String m_mapPath="E://gisapp//MapData//Others//China.mdf";
m_mapj.loadMapDefinition(m_mapPath);
// 设置地图大小
m_mapj.setDeviceBounds(new DoubleRect(0, 0, 800, 600));
request.getSession().setAttribute("worldMap", m_mapj);
// 创建图像请求器(包装mapj对象,图片的色位,底色,格式信息)
ImageRequestComposer irc = ImageRequestComposer.create(m_mapj, 256,
Color.white, mimeType);
// 创建mxtj的图像渲染器
MapXtremeImageRenderer renderer = new MapXtremeImageRenderer(
m_mxtURL);
// 用渲染器渲染请求器
renderer.render(irc);
// 渲染器输出图片流到输出流,客户端显示之
renderer.toStream(sos);
// 释放渲染器对象
renderer.dispose();
} catch (Exception e) {
System.out.println("Error");
e.printStackTrace();
}
}
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/tongxinshuyu/article-28076-3.html
太牛叉了
你不能抱大腿