一种基于动态图例的地图交互方法与流程

文档序号:17000022发布日期:2019-03-02 01:42阅读:764来源:国知局
一种基于动态图例的地图交互方法与流程

本发明涉及地图图例技术领域,尤其是一种基于动态图例的地图交互方法。



背景技术:

地图图例是地图上表示地理要素的符号,是地图上各种符号和颜色所代表内容与指标的说明,地图图例必须与地图图层保持绝对一致性。地图图例有助于用户更方便的使用地图、理解地图内容。

现有技术中,一些商业或者开源的gis往往都是静态的根据地图图层渲染方式生成地图图例,一旦生成图例之后就不会改变了,地理要素的显示与否只能通过控制整个地图图层显示与否的方式来控制。

上述方法所生成的地图图例都是静态的,而目前地图的渲染方式往往十分复杂,很多情况下需要根据地图级别的缩放采用不同的渲染方式,目前的地图图例生成方法无法满足地图动态渲染的需求。目前控制地图要素是否显示只能控制到地图图层层面,无法再继续深入;例如目前有一个图层里面有能源和环保两种类型的企业,目前图层控制的方式只能做到同时显示或者同时隐藏,无法做到按照类别来控制地图要素的显示与否;目前的地图图例都是静态的,只能用来查看,无法与地图进行交互。



技术实现要素:

本发明所要解决的技术问题在于,提供一种基于动态图例的地图交互方法,采用的是动态生成地图图例的方式,根据地图渲染方式的变化,地图图例也会随之发生变化,生成的地图图例是可触发的按钮形式,通过点击不同类型的图例,可以实现与地图进行交互,通过图例精细化控制地图要素的显示与否。

为解决上述技术问题,本发明提供一种基于动态图例的地图交互方法,包括如下步骤:

(1)加载地图图层;

(2)加载地图渲染配置文件;

(3)获取当前地图的显示级别,通过地图渲染配置文件查询得到当前级别所匹配的渲染样式,读取地图渲染配置文件,分别触发地图渲染事件和图例生成事件;根据读取到的渲染样式,分别渲染地图以及生成地图图例,从而确保地图与图例的一致性;

(4)点击图例图标,根据要素图例是否选中,筛选出需要显示的要素类别,从保存所有地理要素的列表中筛选出需要显示的要素,生成显示要素列表,对图层进行重新加载,完成图例对图层要素显示与否的精细化控制。

优选的,步骤(1)中,图层为矢量图层。

优选的,步骤(1)中,加载地图图层的过程中,将该图层所有的地理要素保存在一个列表中。

优选的,步骤(2)中,地图渲染配置文件为存储图层样式的一个json文件,包括地图不同显示级别下用于进行要素分类的属性字段以及各类别要素的渲染样式。

优选的,步骤(2)中,渲染样式分为点、线、面三大类,其中点包括样式、颜色、大小和透明度;线包括线型、颜色、线宽和透明度;面包括填充颜色、填充透明度和边框样式。

优选的,步骤(3)中,地图渲染配置文件以json的格式保存在了不同级别下。

本发明的有益效果为:地图图例根据渲染方式的变化实时刷新的,满足多样化的地图渲染变化下的图例匹配;地图图例不是静态的,是可交互的,可以通过点击图例,精细化分类控制地图要素的显示与否。

附图说明

图1为本发明的方法流程示意图。

具体实施方式

如图1所示,一种基于动态图例的地图交互方法,包括如下步骤:

(1)加载地图图层;

(2)加载地图渲染配置文件;

(3)获取当前地图的显示级别,通过地图渲染配置文件查询得到当前级别所匹配的渲染样式,读取地图渲染配置文件,分别触发地图渲染事件和图例生成事件;根据读取到的渲染样式,分别渲染地图以及生成地图图例,从而确保地图与图例的一致性;

(4)点击图例图标,根据要素图例是否选中,筛选出需要显示的要素类别,从保存所有地理要素的列表中筛选出需要显示的要素,生成显示要素列表,对图层进行重新加载,完成图例对图层要素显示与否的精细化控制。

本发明采用的是动态生成地图图例的方式,根据地图渲染方式的变化,地图图例也会随之发生变化,生成的地图图例是可触发的按钮形式,通过点击不同类型的图例,可以实现与地图进行交互,通过图例精细化控制地图要素的显示与否。

地图渲染配置文件,该文件以json的格式保存了不同级别下,不同类型的要素的渲染方式,包括文字样式等。地图的渲染以及地图图例的生成都是该配置文件为基础。地图图层的全新加载或者地图缩放级别发生变化的情况下,都会读取该配置文件,通过当前地图的显示级别,查询得到当前匹配的渲染样式。然后分别触发地图渲染事件,以及图例生成事件,图例是直接通过地图渲染配置文件来生成,这种方式确保了地图图例是根据地图渲染实时刷新、动态生成。

本发明中,地图图例是可以精细化控制图层中的要素显示与否。在图层加载初始化的过程中,会将该图层所有的地理要素保存到一个列表中。动态生成地图图例的图标,是可以触发事件的按钮,通过点击图例图标,筛选出需要显示的要素类别。从保存所有地理要素的列表中筛选出需要显示的要素,对图层进行重新加载,即可完成图例对图层要素显示与否的精细化控制,实现动态图例与地图的交互。



技术特征:

技术总结
本发明公开了一种基于动态图例的地图交互方法,涉及地图图例技术领域,具体包括如下步骤:加载地图图层;加载地图渲染配置文件;获取当前地图的显示级别,通过渲染配置文件查询得到当前级别所匹配的渲染样式,读取地图渲染配置文件,分别触发地图渲染事件和图例生成事件;点击图例图标,根据要素图例是否选中,筛选出需要显示的要素类别,从保存所有地理要素的列表中筛选出需要显示的要素,生成显示要素列表,对图层进行重新加载,完成图例对图层要素显示与否的精细化控制。本发明采用的是动态生成地图图例的方式,生成的地图图例是可触发的按钮形式,通过点击不同类型的图例,可以实现与地图进行交互,通过图例精细化控制地图要素的显示与否。

技术研发人员:王瑜慧;王旭;柳孟成;史鑫明
受保护的技术使用者:紫光云数科技有限公司
技术研发日:2019.01.16
技术公布日:2019.03.01
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1