一种浏览器/服务器模式下的地图显示方法和客户端的制作方法

文档序号:6357498阅读:277来源:国知局
专利名称:一种浏览器/服务器模式下的地图显示方法和客户端的制作方法
技术领域
本发明涉及电子地图领域,尤其涉及一种浏览器/服务器模式下的地图显示方法和客户端。
背景技术
在C/S (Client/Server,客户端/服务器)模式下,MAPX组件是地图开发常用的一种控件。使用MAPX,可以满足大多数地图控制要求,如地图放大、缩小、平移等。但在C/S模式下利用MAPX显示电子地图时,必须在客户端安装相应软件,工程维修较困难,且不便于客户端升级。随着Internet技术的兴起,供应商对C/S模式进行变化或改进,发展出了 B/S(Bix)WSer/Server,浏览器/服务器)模式。在这种模式下,用户工作界面是通过WWW浏览 器来实现的,只有极少部分事务逻辑在前端(Browser)实现,主要事务逻辑大多在服务器端(Server)实现,形成所谓三层(3_tier)结构,这样就大大简化了客户端电脑载荷,减轻了客户端维护与升级的成本和工作量,降低了用户的总体成本(TCO)。但现有技术中,还无法将MAPX组件应用于B/S模式下的网页。现有技术中,要在B/S模式下的网页上实现地图的无级缩放,可以把地图数据存储在地图服务器上,在需要时,再把地图数据从地图服务器传输到网页上的JavaApplet (用Java语言编写的一些小应用程序,用户访问Java支持的网页时,Applet被下载到应用端执行相应多媒体功能),由网页上的JavaApplet实时渲染出来呈现给用户。对于这种方法,终端用户每拖动一下地图,地图引擎就需要实时请求服务器上的地图数据,再把地图数据取回来,并实施地图渲染,因此效率相当低。基于上面的问题,近年出现了把地图矢量数据图片化的方法,由IE缓存地片,解决了本地网页重复到地图服务器上请求地图数据而产生的效率问题。但由于地图矢量数据图片化后,不能做到地图的无级缩放,在某些对地图详细度有严格要求的监控客户端下,这种方法是不适用的。

发明内容
本发明要解决的技术问题在于,针对现有技术中无法在B/S模式下实现高效地图缩放功能的缺陷,提供一种能在B/S模式下实现高效地图缩放功能的地图显示方法和客户端。本发明解决其技术问题所采用的技术方案是提供一种浏览器/服务器模式下的地图显示方法,在客户端通过浏览器显示电子地图,包括以下步骤SI、所述客户端从地图服务器上下载地图矢量数据,并对所述地图矢量数据进行预处理以生成电子地图文件;S2、所述客户端缓存所述电子地图文件;
S3、所述客户端根据预设的地图属性显示所述电子地图文件;S4、所述客户端接收用户请求信息;S5、所述客户端根据用户请求信息修改与所述电子地图文件的显示相关的地图属性;S6、所述客户端根据修改后的地图属性显示所述电子地图文件。本发明一种浏览器/服务器模式下的地图显示方法中,所述用户请求信息包括关于放大地图的请求信息、缩小地图的请求信息和平移地图的请求信息。本发明一种浏览器/服务器模式下的地图显示方法中,步骤S3中,还包括所述客户端根据修改参数修改所述地图属性。本发明一种浏览器/服务器模式下的地图显示方法中,所述修改参数包括该次放 大比例、该次缩小比例、该次平移距离、最大放大比例、最大缩小比例和最大平移距离。本发明一种浏览器/服务器模式下的地图显示方法中,所述修改参数是由厂商预设的或是由用户输入的。本发明还提供了一种客户端,包括下载模块,用于从地图服务器下载地图矢量数据,并对所述地图矢量数据进行预处理从而生成电子地图文件;存储模块,用于从所述下载模块接收电子地图文件,并缓存所述电子地图文件,还用于存储与地图属性相关的数据;显示模块,用于从所述存储模块中读取电子地图文件,并根据所述存储模块中存储的地图属性显示所述电子地图文件;用户接口模块,用于接收关于用户请求信息的用户输入;属性修改模块,用于从所述用户接口模块接收所述用户请求信息,并根据所述用户请求信息修改存储在存储模块中的所述地图属性。本发明一种客户端中,所述用户请求信息包括关于放大地图的请求信息、缩小地图的请求信息和平移地图的请求信息。本发明一种客户端中,所述属性修改模块还用于根据修改参数修改所述地图属性。本发明一种客户端中,所述修改参数包括该次放大比例、该次缩小比例、该次平移距离、最大放大比例、最大缩小比例和最大平移距离。本发明一种客户端中,所述修改参数是由厂商预设的或是由用户输入的。本发明一种浏览器/服务器模式下的地图显示方法和客户端的有益效果为一次性下载所有电子地图数据并对其进行处理,通过改变地图属性实现用户对电子地图的各种操作,占用较少存储空间,且反应速度快。


下面将结合附图及实施例对本发明作进一步说明,附图中图I是根据本发明实施例的一种客户端的结构示意图;图2是根据本发明实施例的一种浏览器/服务器模式下的地图显示方法的流程图3是根据本发明实施例的一种客户端的浏览器界面的示意图。
具体实施例方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。图I是根据本发明实施例的一种客户端的结构示意图。在本实施例中,客户端包括下载模块110、存储模块120、显示模块130、用户接口模块140和属性修改模块150。下载模块110,用于从地图服务器下载地图矢量数据,并对所述地图矢量数据进行预处理从而生成电子地图文件。电子地图文件可以是例如但不限于栅格图片或矢量地图文件。例如,下载了地图矢量数据后,下载模块110可以根据图形库中预设的栅格模型将地图坐标转换为屏幕坐标,并进行相应的数据转换和数据截取,然后采用格网索引等索引方法 以及兴趣点概括等抽样方法对数据建立空间索引和建模,从而生成栅格图片形式的电子地图文件。又例如,下载了地图矢量数据后,下载模块110可以对数据进行压缩并对要素对象进行合并,先进行有损压缩,删除不必要的点,然后进行无损压缩,将空间数据转换为相对坐标,以减少单个坐标点的存储空间,并提高处理器的处理效率,最后可以对要素对象诸如高等级道路层等进行必要的合并操作,以减少在加载要素时的循环次数,提供加载效率,接下来根据要素对象的几何特点进行建模,例如点模型(如兴趣点)、线模型(如道路)、多边形模型(如河流、公园等),对这些要素对象的建模过程实际上就是矢量地图文件的设计过程。在该实例中,整个矢量地图文件可分为主文件与多个空间索引文件,主文件负责记录要素对象的属性信息与几何信息,相应的空间索引文件负责记录要素对象在主文件中的偏移地址和所占空间大小。另外,还要对地图矢量数据进行分级,即根据要素对象的重要性不同进行显示等级的划分,一般来说,只对道路层与兴趣点层进行等级划分,例如根据道路的不同等级可以将道路层划分为5个单独的道路层、将兴趣点层划分为4个单独的兴趣点层,这样划分便于地图缩放等级的设置,可结合显示比例尺进行加载显示处理,从而生成矢量地图文件形式的电子地图文件。存储模块120,用于从下载模块110接收电子地图文件(例如但不限于栅格图片或矢量地图文件等),并缓存该电子地图文件。存储模块120还用于存储与地图属性相关的数据,例如但不限于显示比例尺、地图区域范围等。存储模块120可以包括任意存储器,例如存储驱动、存储设备和其他类型的计算机可读媒介,例如硬盘、可移动磁盘、可移动光盘、闪存卡、DVD、RAM、只读存储器(ROM)等。在本文中使用时,术语“计算机程序媒介”和“计算机可读媒介”通常是指与硬盘驱动、可移动磁盘、可移动光盘(例如,只读光盘(CompactDiscRead-Only Memory,⑶ROM)、DVD等)、邮编磁盘、磁带、磁存储设备、微机电客户端存储器(micro-electromechanical system, MEMS)、基于纳米技术的存储设备等相关的硬盘,以及其他媒介例如闪存卡、DVD、RAM设备、ROM设备等。显示模块130,用于从存储模块120中读取电子地图文件,并根据存储模块120中存储的地图属性显示该电子地图文件。地图属性可以包括预设的地图属性和修改后的地图属性。另外,地图属性可以包括显示比例尺、地图区域范围等。例如,显示比例尺可以与显示的要素对象相关联,即像素对象的一种显示等级至少对应于一种比例尺。又例如,地图区域范围可以包括世界范围、国家范围、升级范围等,用户搜索某一地址时,显示相应区域的电子地图。在进行电子地图的加载显示时,还可以进行相关索引。例如,先进行一级索引,根据图幅号索引到升级地图文件和二级索引文件,再通过二级索引文件得到地图数据在地图矢量文件中的外存地址,最后根据电子地图文件中的外存地址找到地图数据,并进行加载显示。显示模块130可以包括液晶显示器、背投显示器、等离子显示器等具有显示功能的电子设备。用户接口模块140,用于接收关于用户请求信息的用户输入,并将该用户输入传送给属性修改模块150。用户接口模块140可以包括任意合适的输入输出设备,例如键盘、触摸屏、触摸板、手写板、鼠标等。属性修改模块150,用于根据用户接口模块140接收的用户请求信息修改存储在存储模块120中的地图属性,使得显示模块130根据用户请求显示电子地图。例如,用户输入表示放大的请求信息时,属性修改模块150可以根据用户请求信息改变显示比例尺,从而根据用户请求放大显示电子地图。又例如,用户输入表示平移的请求信息时,属性修改模块150可以根据用户请求信息改变显示中心位置,从而根据用户请求平移显示的电子 地图。另外,属性修改模块150还可以用于根据修改参数修改地图属性。修改参数可以包括该次放大比例、该次缩小比例、该次平移距离、最大放大比例、最大缩小比例和最大平移距离。修改参数可以由厂商预设或是由用户输入。例如,厂商预设的该次放大比例为5倍时,即该次显示比例尺为原显示比例尺的5倍时,每接收一次关于地图放大的请求信息,属性修改模块150可以自动将显示比例尺修改为原来的5倍,直至达到最大放大比例。又例如,接收的用户请求信息可以包括该次放大比例,例如用户输入的放大比例为5倍时,属性修改模块150可以将显示比例尺修改为原来的5倍,直至达到最大放大比例。当用户请求为地图缩小或地图平移时,可以参考上述关于地图放大的例子实施。在工作过程中,下载模块110从地图服务器下载地图矢量数据,并对所述地图矢量数据进行预处理从而生成电子地图文件。电子地图文件可以是例如但不限于栅格图片或矢量地图文件。存储模块120从下载模块110接收电子地图文件(例如但不限于栅格图片或矢量地图文件等),并缓存该电子地图文件。显示模块130从存储模块120中读取电子地图文件,并根据存储模块120中存储的地图属性显示该电子地图文件。地图属性可以包括显示比例尺、地图区域范围等。例如,显示比例尺可以与显示的要素对象相关联,即像素对象的一种显示等级至少对应于一种比例尺。又例如,地图区域范围可以包括世界范围、国家范围、升级范围等,用户搜索某一地址时,显示相应区域的电子地图。用户接口模块140接收关于用户请求信息的用户输入,并将该用户输入传送给属性修改模块150。属性修改模块150根据用户接口模块140接收的用户请求信息和/或预设的修改参数修改存储在存储模块120中的地图属性,使得显示模块130根据用户请求和/或修改参数显示电子地图。例如,用户输入表示放大的请求信息时,属性修改模块150可以根据用户请求信息和/或修改参数改变显示比例尺,使得显示模块130根据用户请求和/或修改参数放大显示电子地图。又例如,用户输入表示平移的请求信息时,属性修改模块150可以根据用户请求信息和/或修改参数改变显示中心位置,使得显示模块130根据用户请求和/或修改参数平移显示的电子地图。图2是根据本发明实施例的一种浏览器/服务器模式下的地图显示方法的流程图。在本实施例中,通过如图I所示的客户端在浏览器/服务器模式下显示地图的方法开始于步骤SI。在步骤SI中,客户端从地图服务器上下载地图矢量数据,并对该地图矢量数据进行预处理从而生成电子地图文件。电子地图文件可以是例如但不限于栅格图片或矢量地图文件。例如,下载了地图矢量数据后,可以根据图形库中预设的栅格模型将地图坐标转换为屏幕坐标,并进行相应的数据转换和数据截取,然后采用格网索引等索引方法以及兴趣点概括等抽样方法对数据建立空间索引和建模,从而生成栅格图片形式的电子地图文件。又例如,下载了地图矢量数据后,可以对数据进行压缩并对要素对象进行合并,先进行有损压缩,删除不必要的点,然后进行无损压缩,将空间数据转换为相对坐标,以减少单个坐标点的存储空间,并提闻处理器的处理效率,最后可以对要素对象诸如闻等级道路层等进行必要的合并操作,以减少在加载要素时的循环次数,提供加载效率,接下来根据要素对象的几何特点进行建模,例如点模型(如兴趣点)、线模型(如道路)、多边形模型(如河流、公园等),对这些要素对象的建模过程实际上就是矢量地图文件的设计过程。在该实例中,整个矢量地图文件可分为主文件与多个空间索引文件,主文件负责记录要素对象的属性信息与几何信息,相应的空间索引文件负责记录要素对象在主文件中的偏移地址和所占空间大 小。另外,还要对地图矢量数据进行分级,即根据要素对象的重要性不同进行显示等级的划分,一般来说,只对道路层与兴趣点层进行等级划分,例如根据道路的不同等级可以将道路层划分为5个单独的道路层、将兴趣点层划分为4个单独的兴趣点层,这样划分便于地图缩放等级的设置,可结合显示比例尺进行加载显示处理,从而生成矢量地图文件形式的电子地图文件。在步骤S2中,客户端缓存生成的电子地图文件。如上所述,将这些电子地图文件以栅格图片形式或矢量地图文件形式缓存,相对原始地图数据,这些形式的电子地图文件占用的存储空间较小,可以一次性将所有电子地图数据下载并缓存,避免用户在进行放大、平移等操作时再次下载数据造成的反应延迟。在步骤S3中,客户端根据预设的地图属性显示存储的电子地图文件。这些地图属性与电子地图文件的显示相关。地图属性可以包括显示比例尺、地图区域范围等。例如,显示比例尺可以与显示的要素对象相关联,即像素对象的一种显示等级至少对应于一种比例尺。又例如,地图区域范围可以包括世界范围、国家范围、升级范围等,用户搜索某一地址时,显示相应区域的电子地图。在进行电子地图的加载显示时,还可以进行相关索引。例如,先进行一级索引,根据图幅号索引到升级地图文件和二级索引文件,再通过二级索引文件得到地图数据在地图矢量文件中的外存地址,最后根据电子地图文件中的外存地址找到地图数据,并进行加载显示。在步骤S4中,客户端接收用户请求信息。用户请求信息可以包括地图放大请求、地图缩小请求、地图平移请求等。另外,地图放大请求还可以包括放大倍数请求。在步骤S5中,客户端根据用户请求信息修改与电子地图文件的显示相关的地图属性。例如,用户输入表示放大的请求信息时,可以根据用户请求信息改变显示比例尺以便根据用户请求放大显示电子地图。又例如,用户输入表示平移的请求信息时,可以根据用户请求信息改变显示中心位置以便根据用户请求平移显示的电子地图。另外,还可以根据修改参数修改地图属性。修改参数可以包括该次放大比例、该次缩小比例、该次平移距离、最大放大比例、最大缩小比例和最大平移距离。修改参数可以由厂商预设或是由用户输入。例如,厂商预设的该次放大比例为5倍时,即该次显示比例尺为原显示比例尺的5倍时,每接收一次关于地图放大的请求信息,可以自动将显示比例尺修改为原来的5倍,直至达到最大放大比例。又例如,接收的用户请求信息可以包括该次放大比例,例如用户输入的放大比例为5倍时,可以将显示比例尺修改为原来的5倍,直至达到最大放大比例。当用户请求为地图缩小或地图平移时,可以参考上述关于地图放大的例子实施。在步骤S6中,客户端根据修改后的地图属性显示电子地图文件。具体方法已在步骤S3中进行了详细描述。本发明一次性下载所有电子地图数据并对其进行处理,不仅占用较少存储空间,且在处理用户操作时不需再次从服务器下载数据,反应速度快。另外,可以通过改变地图属性实现用户对电子地图的各种操作,例如放大、缩小、平移等。图3是根据本发明实施例的一种客户端的浏览器界面的示意图。在本实施例中,提供了一种ActiveX控件,在这个ActiveX控件内,对MAPX组件进行包装。当用户对这个 ActiveX控件进行操作请求时,由ActiveX控件自动的转化为对MAPX组件的请求,而MAPX组件根据用户的请求内容,做出相应的反应,如把地图放大、缩小、平移等。在如图3所示的一个实例中,客户端的用户输入网址信息后下载ActiveX控件并将该控件安装到客户端上,然后点击ActiveX控件上的按钮,如“放大”、“缩小”、“平移”等按钮。ActiveX控件把用户的请求传给内部的MAPX组件。MAPX组件接收来自ActiveX控件的用户请求,相应地修改地图属性,如把地图放大、缩小、平移等,并最终通过显示屏呈现给用户。例如,用户点击“放大”按钮,MAPX组件从ActiveX控件接收该请求信息,并根据预设的修改参数(例如该次放大比例)修改地图属性(例如,显示比例尺),并在网页上根据修改后的地图属性显示电子地图。应当理解,图3所示界面仅仅为了解释说明的目的,而不用于限制,在本发明的实施例中,可以包括任意合适的网页界面。例如,网页界面上还可以包括各级比例尺按钮、放大倍数按钮、显示中心选择按钮等。本发明采用MAPX组件制作ActiveX控件,成功实现了在网页下高效读取本地硬盘上的地图矢量数据,并达到无级缩放的要求。上文的描述涉及各种模块。这些模块通常包括硬件和/或硬件与软件的组合(例如固化软件)。这些模块还可以包括包含指令(例如,软件指令)的计算机可读介质(例如,永久性介质),当处理器执行这些指令时,就可以执行本发明的各种功能性特点。相应地,除非明确要求,本发明的范围不受实施例中明确提到的模块中的特定硬件和/或软件特性的限制。作为非限制性例子,本发明在实施例中可以由一种或多种处理器(例如微处理器、数字信号处理器、基带处理器、微控制器等)执行软件指令(例如存储在非永久性存储器和/或永久性存储器)。另外,本发明还可以用专用集成电路(ASIC)和/或其它硬件元件执行。需要指出的是,上文对各种模块的描述中,分割成这些模块,是为了说明清楚。然而,在实际实施中,各种模块的界限可以是模糊的。例如,本文中的任意或所有功能性模块可以共享各种硬件和/或软件元件。又例如,本文中的任意或所有功能性模块可以由共有的处理器执行软件指令来全部或部分实施。另外,由一个或多个处理器执行的各种软件子模块可以在各种软件模块间共享。相应地,除非明确要求,本发明的范围不受各种硬件和/或软件元件间强制性界限的限制。
虽然本发明是通过具体实施例进行说明的,本领域技术人员应当 明白,在不脱离本发明范围的情况下,还可以对本发明进行各种变换及等同替代。另外,针对特定情形或材料,可以对本发明做各种修改,而不脱离本发明的范围。因此,本发明不局限于所公开的具体实施例,而应当包括落入本发明权利要求范围内的全部实施方式。
权利要求
1.一种浏览器/服务器模式下的地图显示方法,在客户端通过浏览器显示电子地图,其特征在于,包括以下步骤 51、所述客户端从地图服务器上下载地图矢量数据,并对所述地图矢量数据进行预处理以生成电子地图文件; 52、所述客户端缓存所述电子地图文件; 53、所述客户端根据预设的地图属性显示所述电子地图文件; 54、所述客户端接收用户请求信息; 55、所述客户端根据用户请求信息修改与所述电子地图文件的显示相关的地图属性; 56、所述客户端根据修改后的地图属性显示所述电子地图文件。
2.根据权利要求I所述的浏览器/服务器模式下的地图显示方法,其特征在于,所述用户请求信息包括关于放大地图的请求信息、缩小地图的请求信息和平移地图的请求信息。
3.根据权利要求2所述的浏览器/服务器模式下的地图显示方法,其特征在于,步骤S3中,还包括所述客户端根据修改参数修改所述地图属性。
4.根据权利要求3所述的浏览器/服务器模式下的地图显示方法,其特征在于,所述修改参数包括该次放大比例、该次缩小比例、该次平移距离、最大放大比例、最大缩小比例和最大平移距离。
5.根据权利要求4所述的浏览器/服务器模式下的地图显示方法,其特征在于,所述修改参数是由厂商预设的或是由用户输入的。
6.一种客户端,其特征在于,包括 下载模块,用于从地图服务器下载地图矢量数据,并对所述地图矢量数据进行预处理从而生成电子地图文件; 存储模块,用于从所述下载模块接收电子地图文件,并缓存所述电子地图文件,还用于存储与地图属性相关的数据; 显示模块,用于从所述存储模块中读取电子地图文件,并根据所述存储模块中存储的地图属性显示所述电子地图文件; 用户接口模块,用于接收关于用户请求信息的用户输入; 属性修改模块,用于从所述用户接口模块接收所述用户请求信息,并根据所述用户请求信息修改存储在存储模块中的所述地图属性。
7.根据权利要求7所述的客户端,其特征在于,所述用户请求信息包括关于放大地图的请求信息、缩小地图的请求信息和平移地图的请求信息。
8.根据权利要求8所述的客户端,其特征在于,所述属性修改模块还用于根据修改参数修改所述地图属性。
9.根据权利要求9所述的客户端,其特征在于,所述修改参数包括该次放大比例、该次缩小比例、该次平移距离、最大放大比例、最大缩小比例和最大平移距离。
10.根据权利要求10所述的客户端,其特征在于,所述修改参数是由厂商预设的或是由用户输入的。
全文摘要
本发明公开了一种浏览器/服务器模式下的地图显示方法和客户端。所述客户端在浏览器/服务器模式下显示地图的方法包括以下步骤S1、客户端从地图服务器上下载地图矢量数据,并对所述地图矢量数据进行预处理从而生成电子地图文件;S2、客户端缓存所述电子地图文件;S3、客户端根据预设的地图属性显示所述电子地图文件;S4、客户端接收用户请求信息;S5、客户端根据用户请求信息修改与所述电子地图文件的显示相关的地图属性;S6、客户端根据修改后的地图属性显示所述电子地图文件。本发明一次性下载所有电子地图数据并对其进行处理,通过改变地图属性实现用户对电子地图的各种操作,占用较少存储空间,且反应速度快。
文档编号G06F17/30GK102739699SQ201110083380
公开日2012年10月17日 申请日期2011年4月2日 优先权日2011年4月2日
发明者楚甲良, 黄德承 申请人:深圳市赛格导航科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1