(4)使用MapXtremeJava,开发人员能集中地控制和维护地图和数据,并集中实现应用程序功能,避免了以往系统的维护、同步困难的问题,尤其适合信息量大、用户多的单位的实际情况。
(5)使用MapXtremeJava平台可以做到将网络发布与相隔离,同时运用Web发布服务器和服务器。这样,既啬了网络安全性,也便于对进行维护。
3.MapXtremeJava的开发方法[3]
(1)初始化地图对象
执行:myMap=new MapJ()。
(2)加载地图数据
MapXtreme没有默认的地图数据,所以必须人工加载地图数据,可以打开GeoSet(*.gst)或MapDefinition(*.mdf)文件加载地图数据。
①加载GeoSet:myMap.LoadGeoset(geosetName,dataDir,servletURL)。
其中,geosetName:geoset完整文件名(包括路径);dataDir:geoset中引用的tab地图文件的位置;servletURL:MapXtremeServlet的路径,如果MapJ使用LocalDataProviderRef,servletURL则可为NULL。
②加载MapDefinition
首先加载中的地图定义记录,并创建MapDefContainer,如MapDefContainer mdc=new JDBCMapDefContainer(driver,url,user,password)。其中,driver,url,user,password都是连接的参数。
(3)设置地图尺寸
输出地图图像前需要设置地图尺寸,设置方法为:MapJ.setDeviceBounds(),如myMap.SetDeviceBounds(new DoubleRect(0,0,800,600))。
①指定MapXtremeServlet的地址
String mapxtremeServletUrl=http://localhost:8080/mapxtreme40/servlet/mapxtreme;
②创建ImageRequestComposer
imageRC=imageRequestComposer.create(myMap,256,Color.green,"image/gif");
表示图片是256色背景为绿色的GIF图。
③创建ImageRender
MapXtremeImageRender renderer=new MapXtremeImageRenderer(mpaxtremeServletURL);
④生成图片
Renderer.render(imageRc);
Renderer.toImage("comp.gif");
(5)地图显示
①地图视野设置(Zoom)
Zoom值是地图的横向跨度,单位由地图的距离单位决定。设置Zoom可放大、缩小地图。当地图被加载时,Zoom值就被设定了。用myMap.setZoom(100),可以将地图的横向跨度设置到100千米(若当前的单位是千米)。
②地图中心设置
把地图中心定位在找到的目标上或将中心定位到鼠标所点击的图像上某一点。下面程序实现将地图中心定位在鼠标点击的某一点处:
//创建屏幕坐标的Point对象
screenpoint = new DoublePoint(event.getX(),event.getY());
//将屏幕坐标转换为地理坐标
worldpoint=myMap.TransformScreenToNumeric(screenpoint);
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/tongxinshuyu/article-28223-2.html
也是够了
我发现一群喷子以喷为乐