
概述
MapXtremeforJava(以下简称MXTJ)是基于J2EE技术、服务器端的为创建Web地图服务应用的市场上第一个100%Java跨平台解决方案,使用它可实现瘦客户机/服务器、中等客户机/服务器、胖客户机/服务器三种WebGIS模式。
MXTJ主要由MapXtremeServlet、MapJ、Renderers、DataProviders四部分构成。
MapXtremeServlet是系统的地图服务供给者,它提供如下服务:1提供栅格地图数据服务,2提供矢量地图数据服务,3提供图元文件数据服务(例:tab表里的属性信息);
MapJ位于Mapxtreme客户端应用程序开发包API的最顶端作用有二:1管理地图集的各种状态(例:地图中心位置、地图视野、地图坐标系等),2通过向MapxtremeServlet服务实例转发客户请求获得Servlet响应的数据和图片;
Renderer用来生成返回客户端地图数据的组件,有四种:LocalRenderer、MapXtremeImageRenderer、.Intra-ServletContainerRenderer、CompositeRenderer。使用MapXtremeImageRender可以在远程产生地图图像,包含MapJ的应用程序和远程一个MapXtremeServlet实例通讯,产生地图图像;LocalRender将地图输出为Java2DGraphics2D对象,所有的Render在客户端产生,也即所谓地图的矢量传输方式;使用IntraServletContainerRenderer不需socketconnection,从而MapXtremeSevlet将地图直接传回给客户端;CompositeRenderer将地图分为动态与静态图层,当需要更新地图时,可只更新动态图层,而静态图层仅生成一次。
DataProvider是Layer(图层)对象的内部对象,它不是直接由用户创建的,但是它的描述是对图层的定义。要描述DataProvider通过如下接口:TableDescHelper–描述数据;DataProviderHelper–定义数据的源;ataProviderRef–描述获取数据的方式。
以下我将分章节介绍MapXtremeforJava
专题一:怎样在应用中创建地图?
创建Map步骤:
n创建MapJ对象
n加载地图数据
n设置地图尺寸
n生成图片
以下分别描述:
1.初始化地图对象
执行:
myMap=newMapJ();
2.加载地图数据
可以打开GeoSet(*.gst)或MapDefinition(*.mdf)文件加载地图数据。MapXtreme没有默认的地图数据,所以必须人工加载地图数据。
加载GeoSet
myMap.loadGeoset(geosetName,dataDir,servletURL);
其中:
geosetName:geoset的完整文件名(包括路径);
dataDir:geoset中引用的tab地图文件的位置;
servletURL:mapxtremeservlet的路径,如果MapJ使用LocalDataProviderRef,servletURL可以为NULL。
示例:
myMap.loadGeoset("c:\\mapxtreme\\maps\\world.gst",
"c:\\mapxtreme\\maps",
":8080/mapxtreme40/servlet/mapxtreme");
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/tongxinshuyu/article-27888-1.html
不过他这招如果用在另外一个大国面前应该会凑效
因为那是他们当年玩剩下的
慢慢慢
理智爱国