mapXtreme for java 设置地图中点
刚学GIS,做个设置地图中点就出了麻烦 !但是一直就是设置不正确,搞了N久;后来发现问题在于设置的地图边界高度及宽度要与页面对应的输出处的高度及宽度要一致。
也就是:
myMap.setDeviceBounds(new DoubleRect(0, 0, m_mapWidth, m_mapHeight));
m_mapWidth, m_mapHeight 的值要与下面的width,height一致;
<input id="map" type="image" src="/map/MapServlet" onclick="javascript:getPoint()" height="560" width="980">
为什么这样呢?不知道谁能解释,以前都没接触GIS这方面的东西什么都不知道;反正暂时问题解决了,可以继续往前走了……
设置中点也就如下代码: DoublePoint newPoint = myMap.getCenter();
if ((reqParam = request.getParameter("ptx"))!=null) {
xStr = new Double(reqParam);
}
if ((reqParam = request.getParameter("pty"))!=null) {
yStr = new Double(reqParam);
}
if(xStr != null && yStr != null)
{
// Transform GIF coordinate to real world coordinate
DoublePoint screenPoint = new DoublePoint(xStr,yStr);
newPoint = myMap.transformScreenToNumeric(screenPoint);
}
myMap.setCenter(newPoint);
resImg(myMap,response); // 输出地图
private void resImg(MapJ myMap, HttpServletResponse response) {
ServletOutputStream sos = null;
try
{
sos = response.getOutputStream();
myMap.setDeviceBounds(new DoubleRect(0, 0, m_mapWidth, m_mapHeight));
MapXtremeImageRenderer rr = new MapXtremeImageRenderer(m_mxtURL);
rr.render(ImageRequestComposer.create(myMap, NUM_OF_COLORS, BACKGROUND_COLOR, "image/gif"));
rr.toStream(sos);
rr.dispose();
}
catch(Exception e)
{
System.out.println("使用数据流输出图片时异常");
System.out.println(e.getMessage());
}
try {
if (sos != null) {
sos.close();
}
}catch(Exception e){
e.printStackTrace();
}
}
相关文档:
作者:刘学超
作者简介
刘学超,华中师范大学计算机科学系网络与通讯研究所,你可以通过shuechao_lau@hotmail.com与他联系。
1 引言
Java的堆是一个运行时数据区,类的实例(对象)从中分配空间。Java虚拟机(JVM)的堆中储存着正在运行的应用程序所建立的所有对象,这些对象通过new、newarray、anewarray和multiane ......
1、Java语言是简单的。Java语言的语法与C语言和C++语言很接近,使得大多数程序员很容易学习和使用Java。另一方面,Java丢弃了C++ 中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。特别地,Java语言不使用指针,并提供了自动的废料收集,使得程序员不必为内存 ......
很多网友咨询学习Java有没有什么捷径,我说“无他,唯手熟尔”。但是尚学堂愿意将一些经验写出来,以便后来者少走弯路,帮助别人是最大的快乐嘛!
要想学好Java,首先要知道Java的大致分类。我们知道,自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE, ......
工作地点
:杭州
职位
:Java开发工程师(阿里巴巴集团B2B公司网站技术部)
有意者请把简历发给madding.lip@alibaba-inc.com!
1)合适者我们会先进行电话面试
2)通过者再当面约见,形式通常为多对一
有意者请发邮件给我,注明电话等基本联系信息。 ......