java设置地图,mapXtreme for java 设置地图中点

刚学GIS,做个设置地图中点就出了麻烦 !但是一直就是设置不正确,搞了N久;后来发现问题在于设置的地图边界高度及宽度要与页面对应的输出处的高度及宽度要一致。

也就是:

myMap.setDeviceBounds(new DoubleRect(0, 0, m_mapWidth, m_mapHeight));

m_mapWidth, m_mapHeight 的值要与下面的width,height一致;

为什么这样呢?不知道谁能解释,以前都没接触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();

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值