1.开发控件的选择目前影响较大的国外地理服务器有Mapinfo MapXtreme、MapObject、Autodesk Map Guide、ArcIMS、Argcgisserver以及国内的Super Map等。由于考虑到我们是采用Java语言开发基于Web方式的Gis应用,最终对比之后采用Mapinfo公司的MapXtreme Java作为开发控件进行地理应用的二次开发工具。
MapXtreme Java 是目前用于 Internet 或企业 Intranet 唯一的 100% 纯 Java 的地图服务器。 MapInfo MapXtreme Java 与 J2EE 兼容,为开发人员开发应用提供了无与伦比的灵活性。 MapXtreme Java 向应用开发商提供了一个高度可视化的、直观的组件,方便他们将地图功能集成到任何 Web 应用中。
MapXtreme Java为 Internet 设计三种布署模式
瘦客户端
所有的地图生成 / 渲染是由服务器端完成的。客户只接收小于 20k 的 GIF 。在服务器端, MapXtreme 作为一个 Servlet 与 Web 服务器相连接,或者集成了 Web 服务器和应用服务器的功能。
中型客户端
Web 浏览器装载了一个 Java Applet ,但仍然从 MapXtreme 的 Servlet 中得到基于 GIF/JPEG 的地图图像。这种环境增加了灵活的用户交互,同时将从服务器下载的信息量降到最低。
胖客户端
装载了 applet 后,地图以一系列矢量的形式传输到 applet 中。这样,除了可从任何远程数据库中获得的空间对象外,所有的地图功能都属于客户 applet 。这种环境最适于更高带宽的内部网,所有的数据都能传输到每个客户端。要使用这种模式, MapXtreme 必须以命名用户方式注册。 MapXtremeJava 以压缩了 10 倍的数据格式形成矢量流,便于网络传输,减少响应时间。
考虑到IE对applet的支持,客户端用户对IE的设置的反感,我们决定采用瘦客户端的部署模式。所有的地图生成全部由服务器来完成,web gis应用中的客户端和普通web应用中的客户端一样。
2.MapXtreme Java的安装与使用2.1安装MapXtreme Java第一步:到网站http://www.mapinfo.com.cn下载开发控件MapXtreme Java Edition 4.8.0。
同时可以下载一些文档说明和sample地图供学习使用。
第二步:运行install.exe文件,跟普通的windows下安装软件一样安装。
安装成功后,开始菜单中会出现如下所示下拉菜单选项:
1.jpg
2.2 MapXtreme Java工具的使用
2.2.1 MapXtreme ServerMapXtreme Server是用于生成地图的web服务器,也即是地图服务器。
通过菜单栏中的“Start MapXtreme Server”启动地图服务器。
2.jpg
然后,我们可以打开IE在地址栏中输入http://127.0.0.1:8080/进行访问。
3.jpg
我们可以看到左边的导航条中有很多有用的链接信息。主要包括对tomcat的管理、API文档的说明、地图应用的sample。可以根据自己的兴趣进行点击查看,进行学习。推荐先查看Examples中的Servlet部分,然后查看Documentation中的MapXtreme Java API以便有针对性的学习。
通过点击菜单目录中的“Stop MapXtreme Server”来关闭地图服务器。
2.2.2 MapXtreme Java Manager通过点击菜单栏中的“MapXtreme Java Manager-WebServer”启动MapXtreme Java Manager。注意:必须在地图服务器启动以后,MapXtreme Java Manager-WebServer才能正常启动。
4.jpg
MapXtreme Java Manager启动成功以后,会弹出如下的界面:
5.jpg
也可通过菜单目录的“MapXtreme Java Manager-StandAlone”在独立模式下启动MapXtreme Java Manager。后者的启动不依赖于地图服务器的启动与否。二者的区别在于后者启动方式下功能比前者少,不能与地图服务器进行交互。独立模式下启动界面如下图所示:
6.jpg
我们可以通过MapXtreme Java Manager客户端对指定格式(*.mdf和*.gst)的地图文件进行查看及编辑,功能十分强大。此客户端还具有web应用程序定制、创建用于命名地图和图层的上下文、管理JDBC连接等高级功能。
7.jpg
3.构建自己的web gis应用3.1熟悉MapJ
APIMapJ对象管理地图的状态。该对象维护地图中心和缩放、坐标系、距离单位和共同构成地图的图层。MapJ位于MapXtreme客户机API的最顶端。
打开MapXtreme Java的API文档,选择com.mapinfo.mapj,对类 MapJ中的每个方法的使用我们都应该仔细阅读,因为在开发web gis的过程中我们将会用到。
8.jpg
其中,尤为关键的,我们需要了解如下几个方法:
MapJ对象初始化:MapJ()
加载地图:loadMapDefinition()
设置地图边界:setDeviceBounds()
设置地图中心:setCenter()
设置地图缩放比:setZoom()
3.2 熟悉Javascript中鼠标响应事件我们在客户端浏览器中往往需要点击地图上的位置进行精确定位,或对地图进行放大、缩小、平移等操作,这时候就需要将客户端的请求提交到服务器端,与地图服务器进行交互。
为了实现客户端与服务器的交互,必须要能捕捉到用户的鼠标响应事件,获得鼠标指针的当前位置等信息。
其中,特别需要关注的鼠标响应事件有:
鼠标按下事件:onmousedown
鼠标松开事件:onmouseup
鼠标指针移动到元素上触发事件:OnMouseOver
此外,还可能需要用到onclick、oncontextmenu、onmousewheel等事件,根据自己开发的web gis应用的需要来选择使用。
4.3 开发一个完整的web gis应用4.3.1 搭建开发环境进行web gis开发的编程环境:
支持开发web应用的Java IDE(如MyEclipse、Jbuilder),支持servlet的web应用服务器(如tomcat、weblogic),支持javascript的浏览器(如IE 6.0),标准格式的地图图片(*.gst,*.mdf)。
将安装目录中MapXtreme-4.8.0\apache-tomcat-5.5\webapps\mapxtreme480复制到自己的应用服务器发布目录下,或者仍沿用安装时MapXtreme默认安装的tomcat来部署地图服务器。
启动地图服务器,通过访问服务器地址http://127.0.0.1:80/mapxtreme480/servlet/mapxtreme来查看是否部署成功。若显示为一空白页面则表明已部署成功。
4.3.2 编写一个简单的servlet首先编写一个简单的servlet,后面我们将重写其doGet方法来生成地图。
将安装目录中\MapXtreme-4.8.0\lib\common中的文件和\MapXtreme-4.8.0\lib\server中的文件复制到自己的web应用中的\WEB-INF\lib目录下。
,然后启动web服务器,通过浏览器访问servlet看是否运行正常。
分享到:
相关推荐
在“用mapXtreme Java开发web gis应用.rtf”这份文档中,可能会详细讲解如何配置MapXtreme Java环境,设置地图服务,创建Web项目,以及如何在Web页面上嵌入地图控件。开发者会学习到如何加载地图图层,设置比例尺,...
- **Web部署**:讨论了如何在Web环境中部署MapXtreme Java 应用程序。 - **部署选项**:涵盖了不同的部署场景,如单机部署、集群部署等。 - **案例研究**:通过实际案例展示了如何利用MapXtreme Java 构建高效、可靠...
《MapInfo MapXtreme Java 版开发人员指南》是一本专门为使用MapInfo MapXtreme Java版进行软件开发的工程师准备的详细指导手册。MapInfo Corporation作为出版者,为开发者提供了一份深入理解该产品的关键资源,以...
MapXtreme是一款强大的地理信息系统(GIS)组件,它允许开发者在Java平台上构建具有高级地图功能的应用程序。 MapXtreme Java 4.7的核心特性包括: 1. **地图显示与操作**:MapXtreme提供了丰富的地图渲染能力,...
标题“MapXtreme for Java开发CS版之一”暗示了我们即将探讨的是关于使用MapXtreme这款GIS(地理信息系统)软件的Java版本进行客户端(Client-Side,CS)开发的相关知识。MapXtreme是Extremesoft公司(现为...
MapXtreme Java教程主要针对的是想要学习和掌握MapXtreme for Java这一技术的初学者。...通过深入学习MapXtreme Java教程,初学者可以逐步熟悉这个强大的地图服务开发工具,从而构建出功能丰富的Web GIS应用。
MapXtreme for Java是一款基于J2EE技术的跨平台解决方案,专门用于服务器端的Web GIS应用开发。它支持三种Web GIS模式:瘦客户端/服务器、中等客户端/服务器和胖客户端/服务器。 **专题一:怎样在应用中创建地图** ...
- **易于集成**:MapXtremeJava提供了一套完整的API,使得开发者可以轻松地将GIS功能集成到现有的Web应用中。 #### 四、基于瘦客户端实现WebGIS系统的关键技术 - **矢量数据传输优化**:为了提高系统的响应速度,...
教程“MapXtremeJava47 中文教程”会详细讲解以上各个方面的使用方法和示例代码,帮助开发者快速掌握MapXtreme Java 4.7的开发技巧。通过阅读这个教程,你可以学习到如何配置MapXtreme环境,创建地图项目,处理地理...
MapInfo MapXtreme for Java培训教材将全面介绍如何利用此工具进行GIS应用开发,包括基础概念、J2EE集成、地图展示、用户交互、地理编码、数据管理和高性能特性等。通过学习,开发者将能熟练掌握MapXtreme for Java...
MapXtreme for Java是一款由Esri公司推出的地图开发工具,专为Java平台设计,用于构建地理信息系统(GIS)的应用程序。它提供了丰富的API和功能,使得开发者能够轻松地集成地图展示、地理编码、空间分析等功能到自己...
MapXtreme for Java是一款基于J2EE技术的Web GIS(地理信息系统)解决方案,专为构建服务器端的地图服务应用设计。它支持多种Web GIS模式,包括瘦客户端、中等客户端和胖客户端。这款100% Java跨平台工具由四个核心...
这个压缩包“MapXtremeJava48_DG_CHS.rar”包含了MapXtreme 4.8的中文版详细指南,对于想要在Java 8环境下使用MapXtreme进行地图开发的程序员来说,是一份宝贵的资源。 MapXtreme 是Esri公司的一个产品,Esri是GIS...
项目中已经把mapXtreme for Java的服务和应用jar包放到一起了,可以直接加载到eclipse中运行。 之前发布了一个相同的例子,只是地图用的是我安装mapXtreme for Java4.8.2后的mdf格式地图,这个地图中用了我电脑的...
MapXtreme Java是一款强大的地图开发工具,由Esri公司出品,主要用于构建基于Java的地理信息系统(GIS)应用。...总之,掌握MapXtreme Java与Servlet的结合使用,将为你的GIS应用开发打下坚实的基础。
6. 客户端应用开发:MapXtreme Java可以被集成到各种Web应用中,如B/S架构的GIS系统,提供地图组件,供用户进行地图浏览、查询和操作。 7. 扩展性:MapXtreme Java具有良好的扩展性,开发者可以自定义地图控件、...