本发明涉及信息技术领域,尤其是涉及一种地图生成方法、装置、存储介质及计算机设备。
背景技术:
地图功能目前针对于人类的生活无疑提供了很多便捷,便利了人们的交通出行,定位功能,查询功能已经等等,尤其针对环保项目,地图也成为了不可或缺的功能模块,广泛应用于pc和app的多个项目中,一套合理的标准化的地图创建流程能够降低项目的开发成本以及后期的维护成本。
本申请发明人在研究中发现,在项目中地图功能大多与业务逻辑交织在一起。然而,这种方式会带导致地图功能的逻辑代码与业务代码严重耦合,从而导致开发的代码过于冗长,逻辑不清晰,增加了开发难度,且不便于后期对逻辑代码或者业务代码的维护,与此同时,开发的地图功能可复用性较差,不利于移植到其他项目中,影响了项目开发效率。
技术实现要素:
本发明提供了一种地图生成方法、装置、存储介质及计算机设备,主要在于能够使项目中地图功能的逻辑代码与业务代码相分离,便于后期对地图功能的逻辑代码或者业务代码进行维护,提高了地图功能组件的可复用性,缩短了项目开发周期。
根据本发明的第一个方面,提供一种地图生成方法,包括:
在目标项目运行状态下获取待执行的操作指令;
根据所述操作指令调用预设的地图功能组件加载待生成项目地图的各个图层,其中,所述项目地图是所述目标项目的组成部分;
读取所述目标项目运行所需的业务数据;
基于所述各个图层和所述业务数据,生成并输出所述项目地图。
根据本发明的第二个方面,提供一种地图生成装置,包括:
获取单元,用于在目标项目运行状态下获取待执行的操作指令;
加载单元,用于根据所述操作指令调用预设的地图功能组件加载待生成项目地图的各个图层,其中,所述项目地图是所述目标项目的组成部分;
读取单元,用于读取所述目标项目运行所需的业务数据;
生成单元,用于基于所述各个图层和所述业务数据,生成并输出所述项目地图。
根据本发明的第三个方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现以下步骤:
在目标项目运行状态下获取待执行的操作指令;
根据所述操作指令调用预设的地图功能组件加载待生成项目地图的各个图层,其中,所述项目地图是所述目标项目的组成部分;
读取所述目标项目运行所需的业务数据;
基于所述各个图层和所述业务数据,生成并输出所述项目地图。
根据本发明的第四个方面,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现以下步骤:
在目标项目运行状态下获取待执行的操作指令;
根据所述操作指令调用预设的地图功能组件加载待生成项目地图的各个图层,其中,所述项目地图是所述目标项目的组成部分;
读取所述目标项目运行所需的业务数据;
基于所述各个图层和所述业务数据,生成并输出所述项目地图。
本发明提供的一种地图生成方法、装置、存储介质及计算机设备,与目前在项目中将地图功能与业务逻辑交织在一起的方式相比,本发明能够在目标项目运行状态下获取待执行的操作指令;并根据所述操作指令调用预设的地图功能组件加载待生成项目地图的各个图层,其中,所述项目地图是所述目标项目的组成部分;与此同时,读取所述目标项目运行所需的业务数据;最终基于所述各个图层和所述业务数据,生成并输出所述项目地图,由此通过创建预设地图功能组件,彻底实现了地图功能逻辑代码和业务代码的分离,便于后期对地图功能的逻辑代码或者业务代码进行维护,同时提高了预设地图功能组件的可复用性,便于将其移植到其他项目中,从而缩短了项目的开发周期,提高了项目的开发效率。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1示出了本发明实施例提供的一种地图生成方法流程图;
图2示出了本发明实施例提供的另一种地图生成方法流程图;
图3示出了本发明实施例提供的环保项目的地图示意图;
图4示出了本发明实施例提供的一种地图生成装置的结构示意图;
图5示出了本发明实施例提供的另一种地图生成装置的结构示意图;
图6示出了本发明实施例提供的一种计算机设备的实体结构示意图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
目前,在项目中地图功能大多与业务逻辑交织在一起。然而,这种方式会带导致地图功能的逻辑代码与业务代码严重耦合,从而导致开发的代码过于冗长,逻辑不清晰,增加了开发难度,且不便于后期对逻辑代码或者业务代码的维护,与此同时,开发的地图功能可复用性较差,不利于移植到其他项目中,影响了项目开发效率。
为了解决上述问题,本发明实施例提供了一种地图生成方法,如图1所示,所述方法包括:
101、在目标项目运行状态下获取待执行的操作指令。
其中,目标项目为需要进行地图展示的项目,例如,环保项目,待执行的操作指令为调用预设地图功能组件的操作指令,例如,通过调用import函数将预设地图功能组件引入,对于本发明实施例,为了克服现有技术中地图功能的逻辑代码与业务代码相耦合的缺陷,本发明实施例将地图创建过程中的功能函数进行独立封装,创建预设地图功能组件,从而实现了地图功能的逻辑代码与业务代码相分离,便于后期对地图功能的逻辑代码和业务代码进行维护,且便于将预设地图功能组件移植到各种项目,提高了预设地图功能组件的可复用性,缩短了项目的开发周期,本发明实施例主要适用于项目地图的生成,本方实施例的执行主体为能够生成项目地图的装置或设备。具体地,在执行目标项目业务代码hotmap.jsx的过程中,调用预设地图功能组件map.support.js,具体通过调用import函数将预设地图功能组件map.support.js引入。
102、根据所述操作指令调用预设的地图功能组件加载待生成项目地图的各个图层。
其中,所述项目地图是所述目标项目的组成部分,预设地图功能组件为独立于项目方法的组件,其可移植到其他项目中进行使用,待生成项目地图为项目中需要展示的地图,例如,环保项目中的地图可展示不同区域的河流颜色。
对于本发明实施例,在利用预设地图功能组件创建项目地图之前,需要构建预设地图功能组件,具体地,预先定义maputil文件夹,maputil文件夹中写有arcgisapi的方法,按照移动图层操作、绘制图案、创建图层等不同功能,将arcgisapi的方法整理成不同的js文件,map.support.js中定义了一些maputil中api的整合运用,例如,在map.support.js封装的方法里具体定义了init初始化、renderdrop点渲染、renderline线渲染,exit等函数,上述函数在调用的过程中均需要传递特定的参数。
进一步地,在利用预设地图功能组件绘制地图之前,需要预先指定出地图绘制过程中所涉及到的各个图层,具体包括:基础图层和辅助图层,辅助图层具体包括已绘制完成的功能图层,以及其他可供用户自行操作的其他图层,将地图绘制过程中所涉及到的各个图层对应的url地址写在const.js配置文件中,即可以在const.js文件中指定所涉及的各个图层,例如,{url:gis_layer_url.dept_color_map,title:“v_dept_baselayer”};
{url:gis_layer_url.flow_color_map,title:“v_flow_baselayer”}。
此外,为了获取基础图层和辅助图层,所述方法还包括:绘制所述基础图层和所述功能图层,将其存储至服务器,并在预设配置文件中配置所述基础图层对应的资源定位符和所述功能图层对应的资源定位符,即基础图层和功能图层可以根据业务需求预先由gis团队负责生成,放置在远端服务器中,基于此,步骤102具体包括:根据所述基础图层对应的资源定位符和所述功能图层对应的资源定位符,利用所述地图功能组件加载所述基础图层和所述功能图层。需要说明的是,本发明实施例还涉及区块链技术领域,本发明实施例中的基础图层和辅助图层可以存储于区块链中。
进一步地,为了在配置文件中设置所涉及的各个图层的相关信息,所述方法还包括:分别对所述各个图层中不同区域的基本信息、绘图信息和经纬度信息进行配置,其中,该相关信息为图层中不同区域的信息,具体包括不同区域的基本信息、绘图信息和经纬度信息,基本信息包括不同区域的名称、面积等信息,绘图信息包括该区域面积所要填充的颜色、描边线等内容,经纬度信息包括不同区域对应的经度信息和维度信息,即通过该经度信息和维度信息能够确定不同区域的具体位置。在此基础上,步骤102具体包括:所述地图功能组件根据所述各个图层中不同区域的基本信息、绘图信息和经纬度信息,加载所述各个图层。
进一步地,在配置完成基础图层和辅助图层对应的相关信息后,执行业务代码hotmap.jsx的过程中,调用预设地图功能组件map.support.js,具体通过调用import函数将预设地图功能组件map.support.js引入,首先调用初始化函数init加载各个图层,该初始化函数init包括三个参数,第一个是图层标识,根据该图层标识能够创建地图空间,即根据该图层标识确定具体在页面中的什么位置加载各个图层,创建地图;第二个参数是一个与业务相关的回调函数,具体在业务代码中编写,根据该回调函数能够获取业务数据,以便根据该业务数据,在图层中进行相应的绘制;第三个参数为自定义的业务逻辑需要使用到的方法,根据相应的业务自行删减。由此通过预设地图功能组件中的初始化函数init能够加载各个预先指定的图层,并获取相应的业务数据。
103、读取所述目标项目运行所需的业务数据。
其中,业务数据为项目中与创建地图相关的业务数据,例如,环保项目中的不同区域的河流名称和水质类别,对于本发明实施例,为了依据业务数据在相应的图层进行绘制,需要预先获取业务数据,具体可以根据预设地图功能组件初始化函数中的第二个参数,确定与业务相关的回调函数,其编写在业务代码中,根据该回调函数能够获取业务数据,以便根据该业务数据,在图层中进行相应的绘制。
104、基于所述各个图层和所述业务数据,生成并输出所述项目地图。
其中,项目地图为项目中待展示的地图,例如,环保项目中展示不同区域河流颜色的地图。对于本发明实施例,在各个图层加载完成,以及获取业务数据之后,可以根据业务需求在辅助图层上进行绘制,具体绘制时调用预设地图功能组件中的点渲染函数、线渲染函数和面渲染函数,但是具体在辅助图层的哪个区域进行绘制,绘制成什么样式以及展示成什么颜色,上述内容可以根据业务需求在业务代码中进行匹配,其中,该点渲染函数、线渲染函数和面渲染函数均包括两个函数,分别是图层参数和业务数据参数,根据该图层参数能够确定待绘制的图层,根据该业务数据参数能够确定绘制过程中所应用的业务数据。与此同时,绘制图形的大小和格式,可以在业务代码中进行指定,如果未进行指定,也可以根据默认值去生成。由此能够根据加载的各个图层和业务数据,调用点、线、面渲染函数在相应的辅助图层中进行绘制,并将绘制后的图层和未进行绘制的图层进行叠加处理,生成并输出项目地图。
本发明实施例提供的一种地图生成方法,与目前在项目中将地图功能与业务逻辑交织在一起的方式相比,本发明能够在目标项目运行状态下获取待执行的操作指令;并根据所述操作指令调用预设的地图功能组件加载待生成项目地图的各个图层,其中,所述项目地图是所述目标项目的组成部分;与此同时,读取所述目标项目运行所需的业务数据;最终基于所述各个图层和所述业务数据,生成并输出所述项目地图,由此通过创建预设地图功能组件,彻底实现了地图功能逻辑代码和业务代码的分离,便于后期对地图功能的逻辑代码或者业务代码进行维护,同时提高了预设地图功能组件的可复用性,便于将其移植到其他项目中,从而缩短了项目的开发周期,提高了项目的开发效率。
进一步的,为了更好的说明上述项目地图的生成的过程,作为对上述实施例的细化和扩展,本发明实施例提供了另一种地图生成方法,如图2所示,所述方法包括:
201、在目标项目运行状态下获取待执行的操作指令。
其中,目标项目为需要进行地图展示的项目,例如,环保项目,待执行的操作指令为调用预设地图功能组件的操作指令,具体地,在执行目标项目业务代码hotmap.jsx的过程中,调用预设地图功能组件map.support.js,具体通过调用import函数将预设地图功能组件map.support.js引入。
202、根据所述操作指令,调用所述地图功能组件中的初始化函数在页面中加载所述各个图层。
对于本发明实施例,在利用预设地图功能组件的初始化函数加载各个图层之前,需要预先在const.js配置文件中指定创建项目地图所涉及的各个图层,具体在配置文件中指定所涉及图层对应的url地址,以便根据各个图层对应的url地址,从远端服务器加载各个图层,在指定完创建地图所涉及的各个图层之后,还需要对各个图层的相关信息进行配置,该相关信息具体包括图层中不同区域的基本信息、绘图信息和经纬度信息,基本信息包括不同区域的名称、面积等信息,绘图信息包括该区域面积所要填充的颜色、描边线等内容,经纬度信息包括不同区域对应的经度信息和维度信息,即通过该经度信息和维度信息能够确定不同区域的具体位置。例如,图层中某区域的基本信息为name:“福田区”,面积:73.2883201077;绘图信息为:color:{r:255,g:255,b:255,a:0.1},outline:{width:12,style:“solid”,color:array(4)};经纬度信息为:xmax:114.556896,xmin:113.988896,ymax:22.590896,ymin:22.502。
进一步地,在配置完成图像相关信息后,获取各个图层的标识信息,调用预设地图功能组件中的初始化函数在页面中加载各个图层,其中,图层的标识信息可以为图层id,为了对指定的各个图层进行加载,步骤202具体包括:获取所述各个图层对应的标识信息,并根据所述标识信息,确定所述各个图层在所述页面中的位置信息;基于所述位置信息,调用所述地图功能组件中的初始化函数在页面中加载所述各个图层。其中,该初始化函数init包括三个参数,第一个是图层的标识信息,根据该图层的标识信息能够创建地图空间,即根据该标识信息确定具体在页面中的什么位置加载各个图层,创建地图;第二个参数是一个与业务相关的回调函数,具体在业务代码中编写,根据该回调函数能够获取业务数据,以便根据该业务数据,在图层中进行相应的绘制;第三个参数为自定义的业务逻辑需要使用到的方法,根据相应的业务自行删减。
在加载各个图层的过程中,业务代码中定义有不同图层的标识信息与页面不同区域的映射关系,根据获取的图层的标识信息,能够确定该图层在页面中的展示区域,即位置信息,例如,图层11和图层32均对应页面中的展示区域1,进一步地,基于确定的图层在页面中的位置信息,对图层进行加载,从而能够将各个图层加载至页面中相应的区域,创建地图空间。
203、确定所述目标项目对应的预设业务数据回调函数,利用所述预设业务数据回调函数获取目标项目运行所需的的业务数据。
其中,预设业务数据回调函数为初始化函数的第二个参数,该预设业务数据回调函数定义在项目方法中,由业务编写者进行编写,通过该预设业务数据回调函数能够获取项目的业务数据,对于本发明实施例,当利用初始化函数加载基础图层和辅助图层的同时,还会确定业务代码中定义的预设业务数据回调函数,通过该预设业务数据回调函数能够获取相应的业务数据,以便根据该业务数据在辅助图层中进行图层绘制,满足业务需求,例如,mapsupport.init(“pattrolmap”,async()=>{getcurrentrequest();},{pointclick,mapclickother,isfitextent:true}),其中,pattrolmap为图层的标识信息,async()=>{getcurrentrequest()为预设业务数据回调函数,{pointclick,mapclickother,isfitextent:true}为自定义的业务逻辑,可以在业务代码中根据业务自行进行删减。由此能够通过预设业务数据回调函数获取项目的业务数据,以便根据该业务数据在加载的各个图层中进行相应的绘制,生成项目地图。
204、获取图层参数和业务数据参数。
其中,图层参数用于指定各个图层中待绘制的目标图层,业务数据参数为业务数据源,用于指定获取的业务数据中的目标业务数据,以便在获取图层参数和业务数据参数之后,确定待绘制的目标图层和所利用的目标业务数据,调用预设绘图函数在目标图层上进行绘制。
205、基于所述图层参数、所述业务数据参数、所述各个图层和所述业务数据,调用预设绘图函数绘制所述项目地图并输出。
对于本发明实施例,为了绘制项目地图,步骤205具体包括:根据所述图层参数,确定所述各个图层中待绘制的目标图层;根据所述业务数据参数,确定所述业务数据中待利用的目标业务数据;根据所述目标业务数据,调用预设绘图函数在所述目标图层上进行绘制,得到绘制后的目标图层;将绘制后的目标图层和未进行绘制的其他图层进行叠加,生成所述项目地图并进行输出。
其中,预设绘图函数具体包括预设点渲染函数、预设线渲染函数和预设面渲染函数,预设点渲染函数、预设线渲染函数和预设面渲染函数均包括两个参数,分别为图层参数和业务数据参数,该图层参数用于指定各个图层中待绘制的目标图层,该业务数据参数为业务数据源,用于指定获取的业务数据中的目标业务数据,在确定待绘制的目标图层和所利用的目标业务数据之后,调用预设绘图函数在目标图层上进行绘制,例如,预设点渲染函数mapsupport.renderdrop(getlist,“pattrol_pointlayer”),其中,getlist为业务数据参数,即数据源,pattrol_pointlayer为图层参数,用于指定待绘制的目标图层。
与此同时,在分别利用预设点渲染函数、预设线渲染函数和预设面渲染函数进行绘图的过程中,如果指定了图片的大小和格式,以指定的为准,如果未进行指定,可以按照默认值生成图形,例如,设置图形的长和宽分别为50,具体可以在配置文件中进行设置图形的大小和格式,constimageoptions={width:datalist[i].iconwidth/50,height:datalist[i].iconheight/50},生成的图形会按照预设点渲染函数、预设线渲染函数和预设面渲染函数中的第二个参数(图层参数),将其添加在相应的图层中。
以具体应用场景为例说明本发明实施例中图形的绘制过程,但并不以此为限,如图3所示,在环保项目的展示地图中,河流颜色是根据实际水质类别绘制的,而实际水质类别是随着时间变化的,服务器上的基础河流图层是不能够跟随业务去改变颜色否则会导致图层不能够推广运用,而后台数据也不可能返回每一条河流的所有流向让业务方自己绘制,因此采用两者结合的方式,从服务器中获取河流的基础图层,该基础图层上只有一种颜色,同时从后台业务数据库中获取业务数据包括河流名称和水质类别,进一步地,根据不同的河流名称和水质类别,由业务方去匹配渲染,即在不同的河流区域具体如何进行绘制,绘制成什么式样或者展示成什么颜色,这些内容可以在业务代码中由业务方自己进行设定。
进一步地,在辅助图层完成绘制后,将不同的图层叠加,生成展示地图并输出,便能够在页面中看到展示地图,由此可知,在本发明实施例中,将所有与业务相关的内容全部整合到业务代码中,包括自定义的图层名称均在业务代码中,预设地图功能组件仅根据传递来的参数,例如,图层的标识信息、业务数据参数、图层参数等,来选择操作什么图层,预设地图功能组件中并没有具体定义与业务相关的代码,假设需要修改图层名称,只需要在业务代码中修改,不需要顾及到是否会影响到地图的绘制,例如,一开始把图层名定义为alayer,方法调用时使用的是mapsupport.renderriver(data,“alayer”),之后发现这个名称不能见字名义,准备改为riverlayer,那么只需要修改方法调用中的第二个参数即可mapsupport.renderriver(data,“riverlayer”)。同时如果一旦服务器图层上的信息进行修改,也只需要将重点放在mapsupport.js中,因为在业务代码中所用的到都是调用了mapsupport.js里的方法,并不曾触及到地图的功能,由此彻底实现了地图功能组件与业务代码的分离,便于后期对地图功能组件或者业务代码的维护,提高地图功能组件的可复用性。
本发明实施例提供的另一种地图生成方法,与目前在项目中将地图功能与业务逻辑交织在一起的方式相比,本发明能够在目标项目运行状态下获取待执行的操作指令;并根据所述操作指令调用预设的地图功能组件加载待生成项目地图的各个图层,其中,所述项目地图是所述目标项目的组成部分;与此同时,读取所述目标项目运行所需的业务数据;最终基于所述各个图层和所述业务数据,生成并输出所述项目地图,由此通过创建预设地图功能组件,彻底实现了地图功能逻辑代码和业务代码的分离,便于后期对地图功能的逻辑代码或者业务代码进行维护,同时提高了预设地图功能组件的可复用性,便于将其移植到其他项目中,从而缩短了项目的开发周期,提高了项目的开发效率。
进一步地,作为图1的具体实现,本发明实施例提供了一种地图生成装置,如图4所示,所述装置包括:获取单元31、加载单元32、读取单元33和生成单元34。
所述获取单元31,可以用于在目标项目运行状态下获取待执行的操作指令。所述获取单元31是本装置中在目标项目运行状态下获取待执行的操作指令的主要功能模块。
所述加载单元32,可以用于根据所述操作指令调用预设的地图功能组件加载待生成项目地图的各个图层,其中,所述项目地图是所述目标项目的组成部分。所述加载单元32是本装置中根据所述操作指令调用预设的地图功能组件加载待生成项目地图的各个图层的主要功能模块,也是核心模块。
所述读取单元33,可以用于读取所述目标项目运行所需的业务数据。所述读取单元33是本装置中读取所述目标项目运行所需的业务数据的主要功能模块。
所述生成单元34,可以用于基于所述各个图层和所述业务数据,生成并输出所述项目地图。所述生成单元34是本装置中基于所述各个图层和所述业务数据,生成并输出所述项目地图的主要功能模块,也是核心模块。
对于本发明实施例,如图5所示,为了对各个图层中不用区域的基本信息、绘图信息和维度信息进行配置,所述装置还包括:配置单元35。
所述配置单元35,可以用于分别对所述各个图层中不同区域的基本信息、绘图信息和经纬度信息进行配置。
所述加载单元32,具体可以用于所述地图功能组件根据所述各个图层中不同区域的基本信息、绘图信息和经纬度信息,加载所述各个图层。
进一步地,为了加载待生成项目地图的各个图层,所述加载单元32,具体可以用于根据所述操作指令,调用所述地图功能组件中的初始化函数在页面中加载所述各个图层。
所述读取单元33,具体可以用于确定所述目标项目对应的预设业务数据回调函数,利用所述预设业务数据回调函数获取目标项目运行所需的业务数据。
进一步地,为了在页面中加载各个图层,所述加载单元32,包括:确定模块321和加载模块322。
所述确定模块321,可以用于获取所述各个图层对应的标识信息,并根据所述标识信息,确定所述各个图层在所述页面中的位置信息。
所述加载模块322,可以用于基于所述位置信息,调用所述地图功能组件中的初始化函数在页面中加载所述各个图层。
进一步地,为了生成项目地图,所述生成单元34,包括:获取模块341和绘制模块342。
所述获取模块341,可以用于获取图层参数和业务数据参数。
所述绘制模块342,可以用于基于所述图层参数、所述业务数据参数、所述各个图层和所述业务数据,调用预设绘图函数绘制所述项目地图并输出。
进一步地,为了绘制项目地图,所述绘制模块342,包括:确定子模块、绘制子模块和生成子模块。
所述确定子模块,可以用于根据所述图层参数,确定所述各个图层中待绘制的目标图层。
所述确定子模块,还可以用于根据所述业务数据参数,确定所述业务数据中待利用的目标业务数据。
所述绘制子模块,可以用于根据所述目标业务数据,调用预设绘图函数在所述目标图层上进行绘制,得到绘制后的目标图层。
所述生成子模块,可以用于将绘制后的目标图层和未进行绘制的其他图层进行叠加,生成所述项目地图并进行输出。
进一步地,为了绘制基础图层和功能图层,所述装置还包括:绘制单元36,所述绘制单元36,可以用于绘制所述基础图层和所述功能图层,将其存储至服务器,并在预设配置文件中配置所述基础图层对应的资源定位符和所述功能图层对应的资源定位符。
所述加载单元32,具体还可以用于根据所述基础图层对应的资源定位符和所述功能图层对应的资源定位符,利用所述地图功能组件加载所述基础图层和所述功能图层。
需要说明的是,本发明实施例提供的一种地图生成装置所涉及各功能模块的其他相应描述,可以参考图1所示方法的对应描述,在此不再赘述。
基于上述如图1所示方法,相应的,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现以下步骤:在目标项目运行状态下获取待执行的操作指令;根据所述操作指令调用预设的地图功能组件加载待生成项目地图的各个图层,其中,所述项目地图是所述目标项目的组成部分;读取所述目标项目运行所需的业务数据;基于所述各个图层和所述业务数据,生成并输出所述项目地图。
基于上述如图1所示方法和如图4所示装置的实施例,本发明实施例还提供了一种计算机设备的实体结构图,如图6所示,该计算机设备包括:处理器41、存储器42、及存储在存储器42上并可在处理器上运行的计算机程序,其中存储器42和处理器41均设置在总线43上所述处理器41执行所述程序时实现以下步骤:在目标项目运行状态下获取待执行的操作指令;根据所述操作指令调用预设的地图功能组件加载待生成项目地图的各个图层,其中,所述项目地图是所述目标项目的组成部分;读取所述目标项目运行所需的业务数据;基于所述各个图层和所述业务数据,生成并输出所述项目地图。
通过本发明的技术方案,本发明能够在目标项目运行状态下获取待执行的操作指令;并根据所述操作指令调用预设的地图功能组件加载待生成项目地图的各个图层,其中,所述项目地图是所述目标项目的组成部分;与此同时,读取所述目标项目运行所需的业务数据;最终基于所述各个图层和所述业务数据,生成并输出所述项目地图,由此通过创建预设地图功能组件,彻底实现了地图功能逻辑代码和业务代码的分离,便于后期对地图功能的逻辑代码或者业务代码进行维护,同时提高了预设地图功能组件的可复用性,便于将其移植到其他项目中,从而缩短了项目的开发周期,提高了项目的开发效率。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
1.一种地图生成方法,其特征在于,包括:
在目标项目运行状态下获取待执行的操作指令;
根据所述操作指令调用预设的地图功能组件加载待生成项目地图的各个图层,其中,所述项目地图是所述目标项目的组成部分;
读取所述目标项目运行所需的业务数据;
基于所述各个图层和所述业务数据,生成并输出所述项目地图。
2.根据权利要求1所述的方法,其特征在于,在所述在目标项目运行状态下获取待执行的操作指令之前,所述方法还包括:
分别对所述各个图层中不同区域的基本信息、绘图信息和经纬度信息进行配置;
所述根据所述操作指令调用预设的地图功能组件加载待生成项目地图的各个图层,包括:
所述地图功能组件根据所述各个图层中不同区域的基本信息、绘图信息和经纬度信息,加载所述各个图层。
3.根据权利要求1所述的方法,其特征在于,所述根据所述操作指令调用预设的地图功能组件加载待生成项目地图的各个图层,包括:
根据所述操作指令,调用所述地图功能组件中的初始化函数在页面中加载所述各个图层;
所述读取所述目标项目运行所需的业务数据,包括:
确定所述目标项目对应的预设业务数据回调函数,利用所述预设业务数据回调函数获取目标项目运行所需的业务数据。
4.根据权利要求3所述的方法,其特征在于,所述根据所述操作指令,调用所述地图功能组件中的初始化函数在页面中加载所述各个图层,包括:
获取所述各个图层对应的标识信息,并根据所述标识信息,确定所述各个图层在所述页面中的位置信息;
基于所述位置信息,调用所述地图功能组件中的初始化函数在页面中加载所述各个图层。
5.根据权利要求1所述的方法,其特征在于,所述基于所述各个图层和所述业务数据,生成并输出所述项目地图,包括:
获取图层参数和业务数据参数;
基于所述图层参数、所述业务数据参数、所述各个图层和所述业务数据,调用预设绘图函数绘制所述项目地图并输出。
6.根据权利要求5所述的方法,其特征在于,所述基于所述图层参数、所述业务数据参数、所述各个图层和所述业务数据,调用预设绘图函数绘制所述项目地图并输出,包括:
根据所述图层参数,确定所述各个图层中待绘制的目标图层;
根据所述业务数据参数,确定所述业务数据中待利用的目标业务数据;
根据所述目标业务数据,调用预设绘图函数在所述目标图层上进行绘制,得到绘制后的目标图层;
将绘制后的目标图层和未进行绘制的其他图层进行叠加,生成所述项目地图并进行输出。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述各个图层包括基础图层和功能图层,在所述在目标项目运行状态下获取待执行的操作指令之前,所述方法还包括:
绘制所述基础图层和所述功能图层,将其存储至服务器,并在预设配置文件中配置所述基础图层对应的资源定位符和所述功能图层对应的资源定位符;
所述根据所述操作指令调用预设的地图功能组件加载待生成项目地图的各个图层,包括:
根据所述基础图层对应的资源定位符和所述功能图层对应的资源定位符,利用所述地图功能组件加载所述基础图层和所述功能图层。
8.一种地图生成装置,其特征在于,包括:
获取单元,用于在目标项目运行状态下获取待执行的操作指令;
加载单元,用于根据所述操作指令调用预设的地图功能组件加载待生成项目地图的各个图层,其中,所述项目地图是所述目标项目的组成部分;
读取单元,用于读取所述目标项目运行所需的业务数据;
生成单元,用于基于所述各个图层和所述业务数据,生成并输出所述项目地图。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
技术总结