[IT计算机]mapgisigserver地图查询实例开发篇

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

MapGIS K9 IMS地图查询实例开发篇
(JAVA+JS)
目录
第一章二次开发简介
1.1 二次开发概述 (1)
1.2 二次开发架构 (1)
1.3 二次开发方式 (2)
1.4 二次开发特点 (2)
第二章开发准备工作
2.1 开发环境与工具 (4)
2.2 JA V A环境的安装配置 (4)
2.3 站点数据准备与配置 (5)
2.4 配置数据服务器 (5)
2.5 Web服务配置 (8)
第三章开发预备知识
3.1 Web编程基本知识 (13)
3.2 二次开发技术 (13)
3.3 二次开发原理 (14)
第四章实例开发与实现
4.1 站点搭建过程 (15)
4.2 地图基本显示功能的实现 (22)
4.2.1 地图显示功能 (22)
4.2.1.1 实现步骤 (22)
4.2.1.2 实现过程 (31)
4.2.2 基本操作功能 (32)
4.2.3 常用工具 (33)
4.2.3.1 鹰眼 (33)
4.2.3.2 放大镜 (35)
4.2.3.3 测量 (36)
4.3 图层显示控制的实现 (39)
4.3.1 实现步骤 (39)
4.3.2 实现过程 (44)
4.4 查询定位功能的实现 (52)
4.4.1 实现步骤 (52)
4.4.2 实现过程 (58)
4.4.2.1 简单查询实现 (58)
4.4.2.2 条件查询实现 (61)
4.4.2.3 闪烁定位功能实现 (64)
第五章小结
地图查询实例开发篇(Map)第一章二次开发简介
1.1 二次开发概述
WebGIS对于大多数人来说是既熟悉又神秘的,因WebGIS的广泛应用变得熟悉,又因其强大的功能和复杂的开发变得神秘。

确实,WebGIS的开发具有一定的复杂度,因为它涉及的知识面太广,设计思路又不同于传统的C/S模式。

如何尽可能地把复杂问题简单化,让新手能够快速掌握WebGIS的开发是MapGIS-IMS一直追寻的目标。

MapGIS K9 IMS的诞生,提供多模式多方式的二次开发,将给众多WebGIS爱好者带来惊喜,实现大家共同的愿望。

基于JavaScript的JA V A模式的二次开发,采用平台封装好的JAR包中的服务接口和脚本库实现。

这种开发基于分层的体系架构,将复杂问题隐藏在内部,提供简便的、粒度适中的数据功能服务接口,为用户展现便捷、灵活的二次开发方式。

1.2 二次开发架构
图1-1 二次开发架构
数据库层:包括空间数据库与属性数据库,支持SQL、Oracle等商用数据库。


MapGIS K9 IMS二次开发
中空间数据库(HDF)有两种类型,一类为传统矢量影像数据的空间数据库,一类
为经过MapGIS K9缓冲处理过的地图缓存库。

⏹GIS平台层:主要为MapGIS K9的数据存储服务,是MapGIS K9底层核心,基于
该数据存储服务提供了基本的空间数据管理与处理功能。

⏹IMS服务层:包括MapGIS K9 IMS的GIS服务和Web服务(MapgisWebService),
提供GIS的数据与功能服务。

⏹WEB应用层:采用JS 或JS+Flex API进行客户端开发,服务器端采用JA V A体系,
底层通过集成的服务接口直接与MapgisWebService进行通信。

1.3 二次开发方式
基于JavaScript的JA V A二次开发,分别提供纯JS客户端开发和JS+Flex API客户端开发方式。

下面主要介绍MapGIS K9 IMS平台纯JS的JA V A二次开发,分为服务器端和客户端两个层次。

(1)服务器端:应用平台提供的二次开发类库——jmapgis-wssoa.jar,位于安装目录的\MapGIS K9\WebSDK\Server\JA V A下,也可直接从示例站点(JMWSFullDemo)中引用。

图1-2 JAVA二次开发SDK
(2)客户端:应用平台提供的核心脚本库,位于平台安装目录\MapGIS K9\WebSDK\Client\JavaScript文件夹中,主要为IMSMaps.js,还包括其他的配置库、扩展库。

地图查询实例开发篇(Map)
图1-3 脚本库
纯JS的JA V A二次开发,以简便的二次开发集成服务接口、灵活的程序开发方式,为您提供一条便捷的二次开发通道。

在已有知识储备的基础上,借助平台提供的综合示例站点,将引领你快速实现项目需求,体验WebGIS世界的奇妙。

1.4 二次开发特点
MapGIS K9 IMS平台基于服务的开发架构,提供Web服务的WEBGIS开发方式,具有高度的扩展性、易用性和灵活性。

平台为用户提供一套功能强大、及其简单的应用服务接口,力求呈现给您一种全新的感受―――原来WebGIS的开发如此简单、如此有趣!用户直接调用这些二次开发服务接口便能简单、快速地开发出各种功能的实例站点。

想感受MapGIS K9 IMS平台的神奇吗,那就动手搭建一个属于自己的站点吧!
MapGIS K9 IMS二次开发
第二章开发准备工作
在开发各功能实例前,需要做好一系列的准备工作,包括:基本二次开发技术的了解,开发环境支持、开发工具、实例站点的地图数据准备、GIS服务配置、WEB服务的配置等。

下面简单罗列需要准备的内容,在平台安装配置篇文档中有这部分的详细介绍。

开发实例站点前请先阅读平台安装配置篇文档,按照文档介绍的步骤安装配置所有必需的软件,做好必备工作。

2.1 开发环境与工具
下面主要介绍在Windows系统下的开发环境与相关工具:
⏹操作系统:Windows系列,推荐使用Windows Server 2003 【SP2】,该版本性能稳
定,适用于做开发
⏹.NET环境:.NET Framework 2.0、IIS5.0或更高版本
⏹JAVA环境:JDK1.5或更高版本、Tomcat5.0或更高版本
⏹数据库:Microsoft SQL Server 2000【SP3】/2005、oracle
⏹WEBGIS平台:MapGIS K9 IMS平台(证书服务器+ MapGIS K9基础平台+IMS增量
包)
⏹浏览器:IE6.0 SP2或更高
⏹开发工具:MyEclipse6.0(Eclipse+MyEclipse插件)
准备开发环境和工具,需要按照安装配置篇文档所介绍的步骤逐步进行,具体内容请查看安装配置篇文档。

基于Windows系统,安装MapGIS K9 IMS平台的机器需要.NET环境的支持,平台服务要用IIS进行发布;二次开发则基于JA V A环境,需要在进行二次开发的机器上安装配置JA V A环境和二次开发工具。

其中,安装MapGIS K9 IMS平台需要机器先安装证书服务器,然后安装MapGIS K9基础平台(MapGIS K9 SP1二次开发版),最后安装IMS增量包。

2.2 JAVA环境的安装配置
在安装配置篇文档中详细介绍了MapGIS K9 IMS平台的安装配置,要进行基于JAVA 的二次开发,还需要安装配置JA V A的环境和MyEclipse6.0工具,即需要依次对JDK、Tomcat、MyEclipse进行安装和配置。

JA V A环境配置相对来说复杂些,确保正确配置后才能进行网站的开发,因此每一步都要谨慎。

(该部分内容请查阅《JAV A环境安装配置篇》文档)
1. 安装JDK与Tomcat,并对其进行环境变量设置。

2. 安装MyEclipse6.0,并进行相应配置。

地图查询实例开发篇(Map)
2.3 站点数据准备与配置
MapGIS K9 IMS平台提供两种地图服务显示矢量地图并实现相关功能,一种为MapGIS 图层服务,另一种为MapGIS地图文档服务。

当前示例站点以地图文档为例。

在基于地图文档的二次开发前,要事先在GDB企业管理器中准备(附加).HDF格式的本地空间数据,或使用远程数据,并在地图编辑器中创建相应的地图文档,把其存放到GIS服务器所在机器的硬盘上(已有地图文档可不再创建)。

若使用平台自带的示例数据(位于MapGIS K9 IMS 基础平台安装目录下的Sample文件夹里),直接将world.HDF附加到MapGIS K9 IMS平台的GDB企业管理器中,其地图文档wh.Map在安装目录下,里面有行政区、水系、中心线、文化教育、武汉道路网图层。

2.4 配置数据服务器
准备好示例站点的地图数据,下一步就是进行数据服务的配置。

数据服务器配置包括:矢量数据服务配置、瓦片数据服务配置,具体数据服务配置及参数含义等详细内容参见平台安装配置篇文档的相应部分。

当前示例站点主要以矢量数据为例,简单说明地图文档发布的数据服务配置。

在应用中,Web服务需要与矢量GIS服务通信来实现相应功能。

矢量数据服务器配置步骤如下:
1、单击开始菜单→程序→MapGIS K9 IMS增量包→MapGIS K9 IMS服务管理器,选择矢量数据服务,其界面如下图所示:
图2-1 矢量数据服务配置界面
MapGIS K9 IMS二次开发
2、单击“浏览”可更改发布的地图文档存放路径(可使用默认路径),再单击“发布管理”,将要发布的地图文档(如:wh.Map)添加到目录下,最后保存,启动矢量数据服务。

图2-2 打开地图文档发布与管理对话框
图2-3 单击“添加文档”进行地图文档发布
地图查询实例开发篇(Map)
图2-4 添加要发布的地图文档
图2-5 单击“保存”启动矢量数据服务
2.5 Web服务配置
在矢量数据服务配置中发布地图文档后,下一步就是进行Web服务的配置。

平台的二次开发是调用Web服务实现的,需要将Web服务站点发布到Web服务器上,根据环境修改服务配置,并检测配置的服务是否可用。

Web服务站点位于平台安装目录\MapGIS K9\WebService文件夹中。

Web服务站点(MapgisWebService)共有三种部署策略:(1)与GIS服务器、WebGIS 站点,部署在同一台机器上——即站点调用本机服务;(2)与GIS服务器部署在同一台机器上——即站点调用网络服务;(2)单独部署在一台机器上——即站点调用网络服务。

您可以根据需求从中任选一种部署方式。

配置的具体方法如下:
1、如果是Windows Server的系统,先创建一个应用程序池:打开IIS(Internet信息服务器),在IIS中右键单击“应用程序池”→新建→应用程序池,添加应用程序池名称MapgisWebServie(名称可自己选择),单击确定按钮后,即生成新的应用程序池;
图2-6 新建MapgisWebService应用程序池
配置MapgisWebServie应用程序池属性,右键单击“MapgisWebServie”→选择“属性”→选择“标识”选项卡→修改“预定义账户”为:本地系统,单击确定即可;
图2-7 修改“预定义帐户”
2、创建虚拟目录:打开.. \MapGIS K9\WebService,选择MapgisWebService文件夹,右击单击该站点→选择“Web共享”选项卡→选择“共享文件夹”命令,弹出“编辑别名”窗体,点击确定按钮即可,虚拟目录创建成功,此时在IIS的“默认网站”下即可以看到MapgisWebServic站点。

图2-8 创建虚拟目录
图2-9 创建好的虚拟目录
3、配置MapgisWebService站点的属性:虚拟目录、目录安全性、。

打开IIS →打开“网站”下的“默认网站”→选中MapgisWebService站点并右键单击→选择“属性”→分别选择上述要配置属性的选项卡,再依次进行配置,具体如下:
(1)“虚拟目录”选项卡:应用程序池选择为MapgisWebService(即选择用户在步骤1中配置的应用程序池);
(2)“目录安全性”选项卡:编辑“身份验证和访问控制”→“启用匿名访问”;
(3)“”选项卡:选择版本号“2.0.0.50727”。

图2-10 修改应用程序池
图2-11 修改目录安全性
图2-12 修改版本信息
4、Web服务站点发布完毕,需要根据当前开发环境修改Web服务的配置:打开Web 服务站点的配置文件web.config,根据Web服务的配置策略设置矢量数据服务的地址和端口号,要与GIS服务器配置一致。

5、完成Web服务的发布与设置检测服务是否能正常使用:在IIS中“默认网站”下选择MapgisWebService,选择右侧框中的“MAS.amx”(或其他服务)并单击选择“浏览”,即可查看服务是否可用。

图2-13 服务正常显示
第三章开发预备知识
3.1 Web编程基本知识
在JA V A的Web站点编程中,了解常用的基本知识点,可以加深您对搭建网站的学习,同时可以使站点更加规范。

结合JA V A环境的Web编程特点,基于JavaScript的MapGIS K9 IMS平台的二次开发有自身的站点风格。

在站点目录中一般会存在如下文件:
站点目录中还有如下几个常用的文件夹:
3.2 二次开发技术
MapGIS K9 IMS平台的JA VA二次开发是在JA V A环境下进行,采用JA V A语言实现的,涉及到很多WEB开发的技术,如:JSP技术、HTML语言、CSS样式表、JA V AScript脚本
语言、DOM模型、AJAX技术、VML语言、XML语言以及数据库技术等。

如果你是WEB 编程新手,在进行二次开发前最好先简单了解相应的内容。

3.3 二次开发原理
MapGIS K9 IMS平台的各功能都是通过调用二次开发库中的应用服务接口和脚本交互实现。

其中,平台所有的应用服务接口已经集成到JAR包(jmapgis-wssoa.jar)中。

在二次开发过程中,基本开发原理为:先获取到功能服务接口所需参数,然后直接调用该应用服务,最后通过客户端的控件返回结果信息。

第四章实例开发与实现
学习了MapGIS K9 IMS平台和WEB站点搭建的相关知识,做好二次开发的所有准备工作,接下来将创建查询实例站点,进行一次WebGIS 的神奇之旅。

希望大家能在在建站旅途中不断学习积累,渐进式的加深对MapGIS K9 IMS平台WebGIS 站点开发模式的理解和掌握,最终达到质的飞跃。

为了让所有初学者都能巩固前面所学的知识并能自行创建自己的WebGIS站点,下面将结合平台提供的示例站点(JMWSQueryMap),通过以下实例一步一步的教会您如何创建。

查询实例站点采用MapGIS K9 IMS平台开发,在地图显示功能和图层显示控制功能的基础上调用查询功能的相关二次开发服务接口,实现地图的查询功能。

平台的地图查询功能是整个WebGIS平台中最基础、最重要的功能之一,它将要素对象的属性结构、属性值展现在用户面前。

地图查询分为简单查询和条件查询,根据用户选择的不同的查询方式,在地图绘制的查询范围内,交互查找相关信息,并对找到的信息进行闪烁、定位。

简单查询包括点击查询、拉框查询、圆查询、线查询和多边形查询五种;条件查询包括属性条件查询、点击条件查询、拉框条件查询、画圆条件查询、画线条件查询和多边形条件查询六种。

这些功能都是在地图显示和图层显示控制的基础上实现的,所以对地图显示和图层显示控制功能的透彻理解是做该实例开发的前提。

注意:若服务部署在本机,在整个开发过程中应确保服务可用;若调用其他机器上的服务,则要确保网络连通,且服务可用。

4.1 站点搭建过程
MapGIS K9 IMS平台提供基于JavaScript的查询功能示例站点(JMWSQueryMap),借助该示例将轻松搭建属于您自己的查询功能站点。

JMWSQueryMap实例采用MyEclipse 6.0工具开发,站点具体搭建过程如下:
1.在MyEclipse 6.0中新建名为JMWSQueryMap的站点,具体步骤如下:
(1)打开MyEclipse 6.0的工作台,依次点击选择File—>New—>Web Project,弹出新建项目对话框,如下图;
(2)在弹出的对话框中输入站点名称——JMWSQueryMap,源路径、站点目录和虚拟目录等各项设置使用默认值即可,最后单击【Finish】按钮完成。

图4-1-1 新建Web项目
图4-1-2 输入Web项目名称
图4-1-3 新建Web项目成功
2.拷贝查询示例站点中的“icons”“images”、“css”、jslib文件夹到Eclipse的新建Web
项目下面,如图所示。

图4-1-4 拷贝图片、样式、脚本
(1)icons文件夹:存放图层列表所用到的图标。

(2)images文件夹:存放站点使用的图标、图像,包括站点框架使用的图标;buttonx 文件夹存放功能图标;default文件夹存放图层列表树的图标。

若想根据自己的
框架更换功能图标,直接替换相应文件下的图标文件即可。

图4-1-5 images文件夹
(3)css文件夹:存放站点所有的样式表文件。

default.css为站点框架页面样式文件;ext-all.css为图层列表框架的样式文件;tree.css为图层列表树的样式文件;WebCommonStyle.css为一般客户端页面通用的样式文件。

如果您搭建另外的框架可在default.css文件中修改样式,也可另行创建样式表文件。

图4-1-6 css文件夹
(4)jslib文件夹:存放脚本文件,如下图所示。

图4-1-7 jslib文件夹
IMSMaps.js:平台的核心脚本库;
IMSMapConfig.js:平台数据配置脚本;
IMSMapsExt.js:平台的扩展脚本库;
function.js:用户脚本库,应用核心脚本等实现相关功能;
modules.js(ext.js):图层列表目录树脚本,基于ext开源框架,属扩展库。

注意:jslib下都是站点的脚本文件,其中IMSMaps.js是平台的核心脚本库,提供相关脚本接口,在应用中可在扩展库和function.js中调用并扩展。

3.拷贝重要的JAR包,即打开示例站点的JMWSQueryMap\WebRoot\WEB-INF\lib目录,把其下的全部JAR包拷贝到新建Web项目的相应目录下,最后在Eclipse工作台中刷新项目。

图4-1-8 拷贝lib下的全部JAR包
图4-1-9 刷新JMWSQueryMap项目
注意:lib文件夹下的jar包是站点中用到的所有类库,其中jmapgis-wssoa.jar是平台的核心二次开发库,该开发库集成了平台提供的所有应用服务,是平台的核心部分。

4.拷贝重要的JA V A源文件,即将站点源目录src下的源文件拷贝到新建工程的相应位置,然后刷新项目。

图4-1-10 拷贝src下的com文件夹
图4-1-11 刷新JMWSQueryMap项目
CMapDisplay.java:地图单文档操作类的初始化;
CMapLayerSetting.java:地图文档图层操作类。

注意:src目录下的这两个JAVA文件都是经常用到的类文件,是将站点中反复使用的函数提取出来封装成的类,便于站点的开发维护。

5.添加JWMSQueryMap站点配置文件,即拷贝示例站点src目录下的webconfig.properties文件,再修改代码中相应的值。

(1)在Eclipse的工作台中,拷贝示例站点src目录下的webconfig.properties文件到新建的JWMSQueryMap的相应位置。

图4-1-12 添加配置文件webconfig
(2)修改配置文件webconfig.properties中各配置项的值,即根据二次开发的部署环境设置站点所调用服务的IP和站点需要显示的地图文档:
⏹代码解析:
MapType:地图的类型,矢量地图值为1;
gisSvrIP: 站点调用的服务(MapgisWebService)所在机器的IP地址,默认为本机(127.0.0.1)。

您可以根据自己的需求更改。

MapName: 站点所显示的地图文档的名称,若有多个地图文档,可用逗号分隔。

gisSvrPort:矢量地图服务的端口号,默认为5141,该项不需要更改。

到此为止,站点前期搭建已经完成。

用户接下来要根据自己的需求创建站点的首页以及地图基本显示的框架页面,实现地图基本显示功能,在完成显示功能的基础上再实现站点的其他功能。

4.2 地图基本显示功能的实现
地图显示功能是整个WebGIS站点的基础,实现客户端调用服务取图并把地图图像显示到客户端的过程。

要实现整个地图的基本显示,需要了解基于SOA的WebGIS的体系结构,掌握JavaScript脚本编程技术,同时对地图逻辑坐标与窗口坐标转换方法也要有一定了解。

4.2.1 地图显示功能
4.2.1.1 实现步骤
在完成站点前期搭建的基础上,实现地图显示功能的步骤如下:
1.确定所调用的服务和使用的地图文档,更改站点配置文件(webconfig.properties)
的Web服务IP和地图文档名称。

2.搭建站点框架(可直接把站点的index.jsp作为框架页面),在function.js中添加地
图显示功能的脚本代码,并在该框架的JSP页面加载地图的JSP代码。

具体方法如
下:
1)在index.jsp页面中可用table、div层等搭建一个查询站点框架,包括上部分(框架
头部)和下部分(左、中、右),并设置框架的样式。

(具体参考站点框架代码部分)
图4-2-1 框架示意图
示例站点框架规划:头部放置功能按钮、下部分的左列放置图层列表、中列主要作为地图容器(其底部可根据需求放置相关的链接等信息)、右列放置查询
结果等。

设置站点框架样式:示例站点采用客户端页面直接设置和CSS设置相结合方
式。

其中,CSS设置采用外部文件方式,直接在<head>与</head>标志间添加
外部样式文件的引用。

如引用示例站点的样式文件default.css(位于站点css
文件夹中):
2)在框架的下部分的中列添加承载地图的div层,并根据框架设置其高宽;
地图显示的DIV层:
注:此div层作为地图显示的容器。

无论地图显示在何处,只须要将此DIV层添加到该处即可。

3)紧接着table后面,添加两个iframe,站点功能实现时需要用到。

同时拷贝示例站点
中的Refresh.jsp文件到新建项目的相应位置,实现整个站点的刷新功能。

添加的iframe:
拷贝的Refresh.jsp:
2.添加脚本库的引用,地图显示的初始化脚本在function.js中,地图配置类则在
IMSMapConfig.js脚本库中。

二次开发时,主要设置上述两个脚本库。

添加的脚本:
function.js中地图显示的脚本:如果只要显示地图,直接创建一个map对象即可;您还可以根据需要添加相关控件,丰富地图内容。

注:initMap脚本函数中,map = new IMSMaps("zdims",IMSMapConfig)为地图的初始化脚本,其后面均为各个功能控件,默认已全部加载;也可在实现某个功能的时候再加载,不用则将代码注释。

客户端中引用脚本库,在function.js的脚本中有一个事件监听,一旦运行程序,就会调用initMap脚本(参数分别为客户端显示地图的Div层id、地图配置类名称),进行地图的初始化。

IMSMapConfig.js中地图配置的脚本:
上述配置是矢量瓦片的综合配置,如果只需显示矢量图,地图类型mapType为1,并可以把上述地图范围(矢量图通过GIS服务器获取)、瓦片级数、瓦片请求页面等配置删除。

注:您可根据需求搭建一个新的站点框架,也可直接用示例站点的框架。

若使用示例站点框架和样式,则直接复制示例站点的【站点框架代码】到index.jsp页面即可。

站点框架和脚本代码:
3.在index.jsp页面设置字符编码为UTF-8,然后引用JAR包中相应内容,添加加载
地图的JSP代码。

在上述代码中,首先从站点配置文件webconfig.properties中获取到站点要显示的地图文档名称,然后通过CMapDisplay的对象mapDisplay调用LoadMapDisplay方法实现地图的加载。

4.添加地图显示的处理页面:GetMapBound.jsp和GetMap.jsp页面,分别获取地图
坐标范围和矢量地图。

方法:在Eclipse的工作台中右键单击新建项目的WebRoot→New→JSP,分别命名为GetMapBound.jsp和GetMap.jsp,并添加相应的处理代码;或者直接拷贝JWMSQueryMap示例站点下的GetMapBound.jsp和GetMap.jsp两个文件到新建站点的WebRoot下,刷新项目即可。

(1)添加GetMapBound.jsp页面和相应代码
图4-2-2 新建GetMapBound.jsp(一)
图4-2-3 新建GetMapBound.jsp(二)
在GetMapBound.jsp中添加如下代码:
先设字符编码为UTF-8;
引用平台二次开发库jmapgis-wssoa.jar中的相关内容,即用import引用yer.*、com.mapgis.ims.function.CSingleMapView、com.mapgis.ims.clientbasdef.Rect;
再添加相应代码(直接拷贝)。

在该页面中,主要用CSingleMapView的对象viewport 来调用getViewBound服务接口获取当前地图的显示范围,然后进行设置,向客户端输出图片逻辑范围。

(2)添加GetMap.jsp页面和相应代码
图4-2-4 新建GetMap.jsp(一)
图4-2-5 新建GetMap.jsp(二)
在GetMap.jsp中添加如下代码:
先设字符编码为UTF-8;
引用平台二次开发库jmapgis-wssoa.jar中的相关内容,即用import引用
com.mapgis.ims.function.CSingleMapView、mapgis.ims.clientbasdef.*;
再添加相应代码(直接拷贝)。

在该页面中,主要用CSingleMapView的对象viewport 来调用getMapImage服务接口获取地图图片的二进制流,最后将图片显示到客户
端。

3.修改JMWSQueryMap的站点配置文件web.xml,设置访问站点的起始页、字符编码
方式(或者直接拷贝示例站点WEB-INF下的web.xml到新建项目的相应位置覆盖原文件,然后稍作修改)。

图4-2-6 站点配置文件web.xml
到此,已经实现地图基本显示功能。

可在Eclipse中发布JWMSQueryMap站点到Tomcat 中,或者为该站点设置虚拟目录,然后启动Tomcat,打开IE浏览器运行站点。

地图基本显示效果图如下图:
图4-2-7 地图基本显示效果
4.2.1.2 实现过程
地图的显示功能的基本实现过程为:客户端浏览Web服务器端提供的WebGIS站点,Web服务器端获取站点所配置的地图文档名称,并通过脚本库获取地图显示窗口的高宽,然后调用服务接口,服务端接收该信息后生成合适的地图图片,并将该图片及相关的地图信息传送给Web服务器端,最后通过站点中提供的HTML<IMG>标签在客户端显示图片。

地图的显示功能的实现流程图为:
图4-2-8 地图显示实现流程
从上面的流程图可知,地图显示功能的实现主要包括三个步骤:加载地图、获取地图显示的逻辑范围、调用GetMapImage服务接口取图。

4.2.2 基本操作功能
基本操作功能是在地图基本显示的基础上实现的,包括:放大、缩小、移动、复位和更新操作。

下面将在地图显示功能上添加右键菜单和基本操作工具条,实现地图基本操作功能。

以地图基本显示为基础的基本操作功能的实现步骤如下:
1.在function.js脚本库的初始化函数中加载操作状态控件;
在initMap()中添加如下代码(位于地图对象初始化后):
2.在index.jsp框架的头部添加基本操作工具按钮;
在框架头部相应的td标签中加入如下代码:
注:这里面用的工具按钮图存储在站点images目录下的buttonx文件夹中。

3.在function.js脚本库的初始化函数中添加右键菜单的脚本代码;
在initMap()中添加如下代码(位于加载操作状态控件后):
注:右键菜单所用图标存储于站点images文件夹中。

4.到此,已经实现基本操作功能。

在Eclipse中保存修改,启动Tomcat,打开IE运
行站点,效果如下图所示。

点击工具栏上的功能按钮,与点击右键选择的操作可以实现相同的功能。

图4-2-9 地图基本操作功能
由上述的实现步骤可以看出,地图基本操作功能的实现过程为:主要通过客户端按钮(onclick事件)调用核心脚本库的相应功能函数实现。

4.2.3 常用工具
4.2.3.1 鹰眼
地图鹰眼,俗称地图的鸟瞰图或缩略图。

在电子地图中鹰眼的功能非常强大,通过鹰眼可以知道地图的当前位置;也可以在鹰眼上点击、拖动或移动到想要查看的位置。

鹰眼的可视范围总是比主图的可视范围大,鹰眼中心框的可视范围就相当于主图的可视范围,主图的。

相关文档
最新文档