加载MapDefinition
可以加载保存在文件中的地图定义(*.mdf)或者中的地图定义记录(record)。首先要创建MapDefContainer,有两种情况:
地图定义在文件中:
MapDefContainermdc=newFileMapDefContainer(dir)
示例:
MapDefContainermdc=newFileMapDefContainer("c:\\mapxtreme\maps")
地图定义在中:
MapDefContainermdc=newJDBCMapDefContainer(driver,url,user,password)
其中,driver,url,user,password都是连接的参数。
下面的示例是使用OracleSpatialMapRefContainer,地图定义保存在的表中:
OraSoMapDefContainermdc=
newOraSoMapDefContainer("oracle.jdbc.driver.OracleDriver","jdbc:oracle:thin:@machinename:1521:dbSid",
"username","password","tableName","Name",
"Map_Definition");
然后加载地图定义:
myMap.loadMapDefinition(mapDefContainer,name)
name是地图定义的名字,如:
myMap.loadMapDefinition(mdc,"Asia");
3.设置图象尺寸
输出地图图像前需要设置地图尺寸,设置方法:MapJ.setDeviceBounds().,单位是象素。
示例:
myMap.setDeviceBounds(newDoubleRect(0,0,800,600));
4.生成图片
生成图片需要一下几步:
n指定MapXtremeServlet
StringmapxtremeServletUrl=":8080/mapxtreme47/mapxtreme";
n创建ImageRequestComposer
ImageRequestComposerimageRC=ImageRequestComposer.create(myMap,256,Color.blue,"image/gif");
表示图片是256色背景为蓝色的GIF图。
n创建ImageRender
MapXtremeImageRendererrenderer=
newMapXtremeImageRenderer(mapxtremeServletURL);
n生成图片
返回图像的唯一办法就是使用Render对象。
Renderer.render(imageRC);
Renderer.toFile("comp.gif");
此外,还可以使用toStream,toImage方法将图像返回。mapxtreme
如果使用MapJ直接获取地图数据并生成图片,则使用LocalRender而不是MapXtremeImageRender。MapXtremeImageRender和LocalRender将在后面专门章节介绍。
专题二:怎样操作地图---控制地图显示?
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/tongxinshuyu/article-27888-2.html
我今天要刷屏