CN116610319A - 一种基于低代码平台构建地图应用的方法及系统 - Google Patents
一种基于低代码平台构建地图应用的方法及系统 Download PDFInfo
- Publication number
- CN116610319A CN116610319A CN202310664977.2A CN202310664977A CN116610319A CN 116610319 A CN116610319 A CN 116610319A CN 202310664977 A CN202310664977 A CN 202310664977A CN 116610319 A CN116610319 A CN 116610319A
- Authority
- CN
- China
- Prior art keywords
- state
- map
- component
- low code
- low
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 35
- 238000012544 monitoring process Methods 0.000 claims abstract description 45
- 230000007704 transition Effects 0.000 claims abstract description 14
- 238000004806 packaging method and process Methods 0.000 claims abstract description 7
- 230000006870 function Effects 0.000 claims description 150
- 238000004590 computer program Methods 0.000 claims description 7
- 238000013507 mapping Methods 0.000 claims 1
- 238000012827 research and development Methods 0.000 abstract description 5
- 230000008859 change Effects 0.000 description 15
- 238000013508 migration Methods 0.000 description 13
- 230000005012 migration Effects 0.000 description 13
- 230000000007 visual effect Effects 0.000 description 10
- DBGIVFWFUFKIQN-UHFFFAOYSA-N (+-)-Fenfluramine Chemical compound CCNC(C)CC1=CC=CC(C(F)(F)F)=C1 DBGIVFWFUFKIQN-UHFFFAOYSA-N 0.000 description 8
- 230000009471 action Effects 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 238000012098 association analyses Methods 0.000 description 4
- 230000003993 interaction Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012732 spatial analysis Methods 0.000 description 2
- 238000007619 statistical method Methods 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Instructional Devices (AREA)
Abstract
本申请涉及计算机技术领域,尤其是涉及一种基于低代码平台构建地图应用的方法及系统,其包括,将地图功能划分为存储地图功能状态的状态层和构建地图功能组件的视图层,并设置所述地图功能状态和所述地图功能组件的对应关系;将所述视图层中的所述地图功能组件包装成地图低代码组件,设置所述地图低代码组件的状态为地图功能状态,并基于数据适配器和互操作器对所述地图低代码组件的状态迁移信息进行监听和更新;基于所述地图低代码组件、所述数据适配器和所述互操作器生成地图应用编辑器。本申请具有减少投入额外的研发和时间成本的效果。
Description
技术领域
本申请涉及计算机技术领域,尤其是涉及一种基于低代码平台构建地图应用的方法及系统。
背景技术
地图应用是以地图的形式展示、操纵、分析空间数据,从而实现业务功能的一种应用形式。一般而言,各行各业的各类数据都与某种空间维度相关联,如销量等统计数据具有行政区划属性、商业网点等实体数据具有空间点位的经纬度属性等等,这些与空间相关的数据在地图上能够被更直观地展现出来。
目前,一般是在低代码开发平台开发地图应用,在地图应用中,可以实现各种业务功能,包括关联分析、空间分析、数据在线编辑、预测推理等;上述业务功能,再结合具体的业务应用场景,能够衍生出各种各样的地图交互逻辑。
由于地图应用自身数据展现和交互逻辑的复杂性,用低代码的形式往往只能构建出简单的仅用于展示数据的地图应用,无法实现复杂的交互逻辑和业务功能,导致需要投入额外的研发和时间成本进行定制开发,无法充分发挥低代码架构的优势。
发明内容
为了减少投入额外的研发和时间成本,本申请提供一种基于低代码平台构建地图应用的方法。
第一方面,本申请提供一种基于低代码平台构建地图应用的方法及系统,采用如下的技术方案:
一种基于低代码平台构建地图应用的方法,包括:
将地图功能划分为存储地图功能状态的状态层和构建地图功能组件的视图层,并设置所述地图功能状态和所述地图功能组件的对应关系;
将所述视图层中的所述地图功能组件包装成地图低代码组件,设置所述地图低代码组件的状态为地图功能状态,并基于数据适配器和互操作器对所述地图低代码组件的状态迁移信息进行监听和更新;
基于所述地图低代码组件、所述数据适配器和所述互操作器生成地图应用编辑器。
通过采用上述技术方案,先将地图功能划分为存储地图功能状态的状态层和构建地图功能组件的视图层,并设置地图功能状态和地图功能组件的对应关系;并基于该对应关系,将地图功能组包装成地图低代码组件,使得地图功能组件能够融入至低代码平台中,基于数据适配器和互操作器对地图低代码组件的状态迁移信息进行监听和更新;基于地图低代码组件、数据适配器和互操作器,生成地图应用编辑器,从而构建出一套基于状态驱动的低代码视图控制模型和插件化结构,在仅具备少量基础插件的情况下便可以通过可视化编排的形式构建出复杂的业务应用,具有定制成本低、实施效率高的优点,并充分发挥低代码架构的优势,从而减少投入额外的研发和时间成本。
可选的,并设置所述状态和所述功能组件的对应关系,具体包括:
抽取地图引擎中各地图功能的第一状态,并将所述第一状态存储至所述状态层中;
将所述第一状态绑定至所述视图层的对应地图功能组件中;
对地图引擎中的第一状态进行监听,若监听到所述第一状态更新为第二状态,将所述第二状态更新至所述状态层中,并对所述绑定关系进行更新。
通过采用上述技术方案,将地图功能划分为状态层和视图层之后,抽取地图引擎中的各个地图功能的第一状态,将各个地图功能的第一状态统一存储在状态层;并将第一状态绑定至对应的地图功能组件中;并对地图引擎中的第一状态进行监听,当监听到地图引擎中第一状态变化时,并将变化后的第二状态更新至状态层中,最后将绑定关系进行更新。
可选的,并设置所述状态和所述功能组件的对应关系,还包括:
对所述状态层中的第一状态进行监听,若监听到所述第一状态更新为第二状态,将所述第二状态更新至地图引擎中。
通过采用上述技术方案,基于绑定关系,对统一存储在状态层中的第一状态层进行监听,当监听到状态层中第一状态变化时,此时重构地图功能组件,并将变化后的第二状态更新至状态层中,实现了状态和功能组件的双向绑定以及同步,从而使状态层与视图层实现了完全的解耦合。
可选的,将所述视图层中的所述地图功能组件包装成地图低代码组件,设置所述地图低代码组件的状态为地图功能状态,并基于数据适配器和互操作器对所述地图低代码组件的状态迁移信息进行监听和更新,具体包括:
对所述地图低代码组件的状态进行监听,若监听到所述地图低代码组件的状态发生迁移,将所述地图低代码组件迁移后的状态更新至所述数据适配器中;
对所述数据适配器的状态进行监听,若监听到所述数据适配器的状态发生迁移,将所述数据适配器迁移后的状态更新至所述地图低代码组件中。
通过采用上述技术方案,将重构后的地图功能组件包装成地图低代码组件,各个地图低代码组件通过互操作器进行复杂的互操作,并通过数据适配器进行数据处理转换;互操作器对地图低代码组件的状态参数进行监听,当监听到地图低代码组件的状态发生迁移时,将地图低代码组件迁移后的状态更新到数据适配器中;互操作器对数据适配器的状态结果进行监听,当监听到数据适配器的状态发生迁移时,将数据适配器迁移后的状态更新到地图低代码组件的状态中;使地图功能能够以普通插件的形式用于可视化编排构建应用。
可选的,将所述数据适配器迁移后的状态更新至所述地图低代码组件中,还包括:
将所述地图低代码组件的状态绑定至对应地图低代码组件中;
若监听到所述地图低代码组件的状态发生迁移,将所述地图低代码组件迁移后的状态传输至地图低代码组件中,并更新至地图引擎中。
通过采用上述技术方案,当监听到地图低代码组件的状态发生迁移后,将低代码组件迁移后的状态结果传输至地图低代码组件中,并将低代码组件迁移后的状态结果更新至地图引擎中,地图引擎按低代码组件迁移后的状态结果更新。
可选的,所述数据适配器被配置为监听自身状态,具体包括:
对所述数据适配器的状态进行监听,若监听到所述数据适配器的状态发生迁移,执行所述数据适配器内的预设信息请求逻辑后,将所述数据适配器迁移后的状态更新至所述数据适配器内。
通过采用上述技术方案,数据适配器对自身的状态监听,当互操作器当监听到地图低代码组件的状态发生迁移后,并更新至数据适配器内时,数据适配器开始执行自身预设信息匹配逻辑,并在结束预设信息匹配逻辑后,将数据适配器迁移后的状态更新至数据适配器内。
第二方面,本申请提供一种基于低代码平台构建地图应用系统,采用如下的技术方案:
状态获取模块,用于获取各地图功能的第一状态或状态;
状态绑定模块,用于将地图功能状态与地图功能组件进行绑定;
状态存储模块,用于存储各地图功能的状态。
通过采用上述技术方案,利用状态获取模块获取各地图功能的第一状态或状态,并存储至状态存储模块内;之后通过状态绑定模块将状态与地图功能组件进行绑定,从而降低了状态层与视图层之间的依赖性,提高程序的独立性,降低了维护成本。
可选的,所述状态绑定模块包括:
地图状态监听单元,用于对各地图功能的第一状态或状态进行监听;
地图状态更新单元,用于将更新后新的状态更新至目标组件内。
通过采用上述技术方案,通过地图状态监听单元对各地图功能的第一状态或状态进行监听,一旦监听到状态的变化,通过地图状态更新单元将更新后的新的状态更新至对应的组件中。
第三方面,本申请提供一种计算机设备,采用如下的技术方案:
一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所述的一种基于低代码平台构建地图应用的方法。
第四方面,本申请提供一种计算机可读存储介质,采用如下的技术方案:
一种计算机可读存储介质,存储有能够被处理器加载并执行如第一方面中任一种基于低代码平台构建地图应用的方法的计算机程序。
附图说明
图1是本申请其中一实施例构建地图应用的方法的流程图。
图2是本申请其中一实施例用于展示对应关系的方法流程图。
图3是本申请其中一实施例用于展示状态迁移的方法流程图。
图4是本申请其中一实施例用于展示地图低代码组件状态迁移的方法流程图。
图5是本申请其中一实施例构建地图应用系统的框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图1-5及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
本申请实施例公开一种基于低代码平台构建地图应用的方法及系统。
参照图1,一种基于低代码平台构建地图应用的方法,包括:
步骤S10:将地图功能划分为存储地图功能状态的状态层和构建地图功能组件的视图层,并设置地图功能状态和地图功能组件的对应关系。
其中,在状态层中,地图功能状态通常包括视图状态(当前中心点、比例尺、空间参考等)、底图状态、图层状态、高亮状态、多视图状态(分屏、卷帘等)、微件状态(测量、标绘、指北针、图例等)以及服务目录状态等。
具体地,在视图层中,地图功能组件通常包括关联分析组件、空间分析组件、数据在线编辑组件、预测推理组件等各类应用于地图上的功能组件。
步骤S20:将视图层中的地图功能组件包装成地图低代码组件,设置地图低代码组件的状态为地图功能状态,并基于数据适配器和互操作器对地图低代码组件的状态迁移信息进行监听和更新。
其中,将地图功能组件包装成地图低代码组件,地图低代码组件被定义为地图应用上显示的一个元素,例如按钮、文本、图片、图表、功能面板或地图等。
需要说明的是,在视图层中,在将地图功能组件包装成地图低代码组件后,地图低代码组件与地图低代码组件或者地图低代码组件与其他低代码组件进行通信时,地图低代码组件与地图低代码组件以及地图低代码组件与各个低代码组件之间的各种通信行为都需要被记录下来,从而实现地图应用操作行为的可视化;在地图低代码组件与地图低代码组件或者地图低代码组件与其他低代码组件进行通信时,地图低代码组件状态和各个低代码组件状态不断发生迁移,需要数据适配器和互操作器对地图低代码组件的状态迁移信息进行监听和更新。
具体地,在视图层中,预先构建好数据适配器和互操作器;其中,数据适配器用于获取视图层内各个地图功能组件的数据,并发起过程调用,与其他低代码组件进行通信;互操作器用于监听低代码系统中任意低代码组件状态的变化,将变化的参数进行转换,并将转换后的参数更新替换目标状态的数据。
进一步地,将地图功能组件包装成地图低代码组件,在视图层中,地图低代码组件通过互操作器与其他低代码组件进行复杂的互操作,并通过互操作器实现地图低代码组件和其他低代码组件的状态迁移信息进行监听和更新。
步骤S30:基于地图低代码组件、数据适配器和互操作器生成地图应用编辑器。
作为步骤S30的一种实施方式,地图应用编辑器包括地图应用管理界面,地图管理界面用于管理地图应用,包括创建、编辑或删除地图应用;并通过向应用中添加包括地图在内的各种低代码组件,并添加相适配的数据适配器和互操作器,按照实际需求编排出具有复杂业务功能的地图应用,并将编排好的地图应用存储至数据库中。
作为步骤S30的另一种实施方式,地图编辑器包括地图应用管理模块和地图存储模块,地图应用管理模块用于创建、编辑或删除地图应用;地图存储模块用于将编排完成的地图应用存储至数据库中。
作为可选的一种实施方式,通过低代码平台构建地图应用的方法,还可以包括:
步骤S40:基于地图应用编辑器,构建可视化应用编排界面。
具体地,通过对地图相关功能进行状态建模,使地图功能能够以普通插件的形式用于可视化编排构建应用,可视化应用编排界面针对地图应用的使用场景,提供引导用户完成地图应用的各项配置的界面,可视化应用编排界面根据用户的需求,可在实际应用中组合编排出面向各种应用场景的地图应用,在仅具备少量基础插件的情况下便可以通过可视化编排的形式构建出复杂的业务应用。
并且,通过可视化编排的形式向应用中添加包括地图在内的各类低代码组件,并添加与低代码组件配合使用的数据适配器和互操作器;根据用户的实际需求编排出具有复杂业务功能的地图应用,并根据用户的使用偏好对页面的位置、大小和样式做修改,对数据适配器请求的接口地址和参数进行修改,配置互操作器需要监听和变更的状态路径等;在用户将应用编排好后,通过地图存储模块将编排完成的地图应用进行保存,并将应用状态持久化到数据库中。
上述实施方式中,先将地图功能划分为存储地图功能状态的状态层和构建地图功能组件的视图层,并设置地图功能状态和地图功能组件的对应关系;并基于对应关系,在视图层中,将地图功能组包装成地图低代码组件,使得地图功能组件能够融入至低代码平台中,基于数据适配器和互操作器对地图低代码组件的状态迁移信息进行监听和更新;基于地图低代码组件、数据适配器和互操作器,生成地图应用编辑器,从而构建出一套基于状态驱动的低代码视图控制模型和插件化结构,具有定制成本低、实施效率高的优点,并充分发挥低代码架构的优势,从而减少投入额外的研发和时间成本。
参照图2,作为步骤S10的一种实施方式,步骤S10中的设置状态和功能组件的对应关系,具体包括:
步骤S101:抽取地图引擎中各地图功能的第一状态,并将第一状态存储至状态层中。
具体地,地图引擎用于采集数据并根据采集的数据绘制地图;地图功能的第一状态设置为地图引擎中各个地图功能的常规状态,即从地图引擎中抽取各地图功能的常规状态,例如视图状态、图层状态以及服务目录状态等;对地图引擎中的各个地图功能的第一状态进行抽取,作为最终形成的状态层的一个分支,统一存储在Redux Store中。
应当理解地是,Redux Store相当于仓库,将各个地图功能的第一状态统一存储在Redux Store中,便于对各个地图功能的第一状态进行管理。
步骤S102:将第一状态绑定至视图层的对应地图功能组件中。
具体地,基于Redux框架将抽取的多个地图功能的第一状态绑定至其对应的地图功能组件中。
步骤S103:对地图引擎中的第一状态进行监听,若监听到第一状态更新为第二状态,将第二状态更新至状态层中,并对绑定关系进行更新。
需要说明的是,用户在页面对地图引擎进行操作时,用户根据使用场景对页面内的某个功能进行修改或者其他操作时,该使用场景内与该功能相关联的地图功能的第一状态会立即发生变化,某个功能修改后,地图功能的第一状态会更新为第二状态;通过将地图功能的状态进行状态建模,并对该地图功能的第一状态进行监听,可以持续地监听用户的操作,并将地图功能的第一状态持续地更新至,便于对各个地图功能的第一状态进行管理。
并且,通过遵循状态驱动的策略,将地图功能划分为存储地图功能状态的状态层和构建地图功能组件的视图层,并对地图引擎中的第一状态进行监听,当用户操作导致第一状态发生变化时,此时第一状态更新为第二状态,并根据监听结果将状态层中的第一状态更新为第二状态,并且,第一状态与第二状态仅仅是对地图功能的状态变化的先后做出的定义,并不对地图功能的状态参数做限制。
具体地,地图功能组件在地图引擎各个地图功能的第一状态中注册监听事件,并调用监听函数对地图引擎各个地图功能的第一状态进行监听,当监听到某个地图功能的第一状态更新为第二状态时,基于Redux框架提供的Action机制,将第二状态更新至ReduxStore中。
进一步地,根据用户在页面对地图引擎进行操作时,地图功能组件内的监听函数不断地对地图功能的第一状态进行监听,一旦用户对页面内的某个功能进行修改,地图功能的第一状态会立即发生变化,某个功能修改后,地图功能的第一状态更新为第二状态,并基于Redux框架提供的Action机制,将第二状态更新至Redux Store中;通过低代码建模的方式,持续地将地图功能的状态反应到Redux框架中,以实现对地图引擎内功能状态的同步。
应当理解地是,Redux框架提供的Action机制是把数据从应用传到 Redux Store的有效载荷;它是Redux Store数据的唯一来源,本质为JavaScript普通对象。
作为步骤S10的一种实施方式,步骤S10中的设置状态和功能组件的对应关系,还包括:
步骤S104:对状态层中的第一状态进行监听,若监听到第一状态更新为第二状态,将第二状态更新至地图引擎中。
具体地,对于统一存储在Redux Store中的各个地图功能的第一状态进行监听,当监听到某个地图功能的第一状态更新为第二状态时,基于React Hooks内的监听实例,将第二状态更新至地图引擎中。
上述实施方式中,在将地图功能划分为状态层和视图层之后,抽取地图引擎中的各个地图功能的第一状态,将各个地图功能的第一状态统一存储在Redux Store中;基于Redux框架将抽取的多个地图功能的第一状态绑定至其对应的地图功能组件中;之后,地图功能组件在地图引擎各个地图功能的第一状态中注册监听事件,并调用监听函数对地图引擎各个地图功能的第一状态进行监听,当监听到某个地图功能的第一状态更新为第二状态时,基于Redux框架提供的Action机制,将第二状态更新至Redux Store中。
进一步地,对统一存储在Redux Store中的各个地图功能的第一状态进行监听,当监听到某个地图功能的第一状态更新为第二状态时,此时重构地图功能组件,基于ReactHooks内的监听实例,将第二状态更新至地图引擎中。
应当理解地是,React是用于构建用户界面的JavaScript库,可用于构建管理自身状态的封装组件,然后对其组合以构成复杂的UI;Redux是一个为JavaScript应用设计的,可预测的状态,即Redux是一个应用数据流框架,主要用于管理程序状态。
需要说明的是,本实施例中步骤S103和步骤S104的顺序可调换;例如,先执行步骤S103中的对地图引擎中的第一状态进行监听,再执行步骤S104中的对状态层中的第一状态进行监听;具体执行情况根据步骤S103和步骤S104的顺序决定。
重复步骤S101-步骤S104,将存储在状态层中的各个地图功能的第一状态进行抽取,实现Redux Store中的状态和功能组件中的状态的双向绑定以及同步,从而使状态层与视图层实现了完全的解耦合,使地图功能组件能够完全融入到低代码平台之中。
参照图3,作为步骤S20的一种实施方式,互操作器包括第一互操作器和第二互操作器,其中,第一互操作器用于对地图低代码组件的状态参数进行监听,第二互操作器用于对数据适配器的状态结果进行监听。
步骤S20具体包括:
步骤S201:对地图低代码组件的状态进行监听,若监听到地图低代码组件的状态发生迁移,将地图低代码组件迁移后的状态更新至数据适配器中。
其中,第一互操作器对地图低代码组件的状态进行监听,若监听到地图低代码组件的状态发生迁移,第一互操作器将低代码组件迁移后的状态更新至数据适配器中。
具体地,在地图低代码组件通过互操作器与其他低代码组件进行复杂的互操作时,通过第一互操作器对地图低代码组件的状态进行监听,若监听到地图低代码组件的状态参数发生迁移,第一互操作器将低代码组件迁移后的状态参数更新至数据适配器中。
应当理解地是,地图低代码组件的状态设置为地图功能的状态,且用户操作导致地图低代码组件的状态发生变化时,此时地图低代码组件的状态发生迁移,并根据第一互操作器的监听结果将数据适配器的状态更新为迁移后的状态参数,并且,地图低代码组件的状态与地图低代码组件迁移后的状态仅仅是对地图低代码组件的状态变化的先后做出的定义,并不对地图低代码组件的状态参数做限制。
并且,数据适配器被配置为监听自身状态,对数据适配器自身的状态进行监听,若监听到数据适配器的自身状态发生迁移,执行数据适配器内的预设信息请求逻辑后,将数据适配器迁移后的状态更新至数据适配器内。
应当理解地是,数据适配器用于负责发起过程调用,与外部系统进行通信;数据适配器还用于对系统内部数据进行处理转换。
步骤S202:对数据适配器的状态进行监听,若监听到数据适配器的状态发生迁移,将数据适配器迁移后的状态更新至地图低代码组件中。
其中,第二互操作器对数据适配器的状态进行监听,当监听到数据适配器的状态发生迁移时,第二互操作器将数据适配器迁移后的状态更新到地图低代码组件的状态中。
具体地,当低代码组件迁移后的状态参数更新至数据适配器中后,通过第二互操作器对数据适配器的状态结果进行监听,当数据适配器的状态结果发生迁移时,第二互操作器将数据适配器迁移后的状态结果更新至地图低代码组件的状态结果中。
应当理解地是,互操作器用于监听低代码系统中任意状态的变化,将变化的参数进行转换,并将转换后的参数更新替换目标状态的数据;具体地,第一互操作器设置为参数变更操作器,第二互操作器设置为结果变更互操作器。
作为步骤S20可选的一种实施方式,在步骤S202之后,还可以包括:
步骤S203:基于互操作器对地图低代码组件与低代码组件的状态迁移信息进行监听和更新。
具体地,互操作器的接口包括两端,互操作器的一端接口连接有地图低代码组件,互操作器的另一端接口连接有低代码组件或数据适配器;通过互操作器对地图低代码组件与其他低代码组件的状态迁移信息进行监听和更新;实现地图组件外部的低代码组件与地图低代码组件进行交互。
进一步地,在根据用户在页面对地图应用编辑器进行操作,用户通过操控图以外的其他低代码组件对地图的部分功能进行修改时,通过数据适配器获取其他低代码组件的接口信息并存储至数据适配器的状态空间内,并通过互操作器对数据适配器的状态空间内其他低代码组件的状态进行监听,并基于互操作器的监听结果将状态迁移至地图低代码组件的状态中。
上述实施方式中,将重构后的地图功能组件包装成地图低代码组件,各个地图低代码组件通过互操作器进行复杂的互操作,并通过数据适配器进行数据处理转换;第一互操作器对地图低代码组件的状态参数进行监听,当监听到地图低代码组件的状态发生迁移时,将地图低代码组件迁移后的状态参数更新到数据适配器中;数据适配器对自身的状态监听,当第一互操作器监听到地图低代码组件的状态发生迁移后,并更新至数据适配器内时,数据适配器开始执行自身预设信息匹配逻辑,并在结束预设信息匹配逻辑后,将数据适配器迁移后的状态更新至数据适配器内。
进一步地,第二互操作器对数据适配器的状态结果进行监听,当监听到状态结果变化时,当监听到数据适配器的状态发生迁移时,将数据适配器迁移后的状态更新到地图低代码组件的状态中;使地图功能能够以普通插件的形式用于可视化编排构建应用。
并且,用户操作其他低代码组件与地图低代码组件进行交互时,通过数据适配器获取其他低代码组件的接口信息并存储至数据适配器的状态空间内,并通过互操作器对数据适配器的状态空间内其他低代码组件的状态进行监听,并基于互操作器的监听结果将状态迁移至地图低代码组件的状态中。
例如,作为一种示例,地图低代码组件并通过互操作器与其他低代码组件进行复杂的互操作时,用户触发图层状态变更,此时参数变更互操作器监听到地图低代码组件的图层状态参数迁移,将迁移后的图层状态参数更新至图层数据适配器中。
之后,数据适配器对自身的图层状态监听,数据适配器开始执行图层配置信息匹配逻辑,图层配置信息请求结束后,图层适配器将图层状态结果更新为迁移后的图层状态结果;此时结果变更互操作器监听到图层适配器的图层状态结果更新为迁移后的图层状态结果,将迁移后的图层状态结更新至地图低代码组件中;其中,互操作器实现进一步地封装复杂的状态迁移逻辑,便于用户可视化配置。
参照图4,作为步骤S202的一种实施方式,步骤S202中的将数据适配器迁移后的状态更新至地图低代码组件中,具体包括:
步骤S2021:将地图低代码组件的状态绑定至对应地图低代码组件中。
具体地,地图低代码组件的状态为地图功能的状态,并基于Redux框架将各个地图低代码组件的状态绑定至其对应的地图低代码组件中。
步骤S2022:若监听到地图低代码组件的状态发生迁移,将地图低代码组件迁移后的状态传输至地图低代码组件中,并更新至地图引擎中。
其中,地图低代码组件的状态以及数据适配器的状态均统一存储在Redux Store中。
具体地,地图低代码组件在各个地图低代码组件的状态中注册监听事件,并调用监听函数对各个地图低代码组件的状态进行监听,当监听到某个地图低代码组件的状态迁移时,基于Redux框架提供的Action机制,将迁移后的状态更新至Redux Store中;当ReduxStore中的地图低代码组件的状态发生迁移时,变更状态触发状态的重新绑定,地图低代码组件内的状态基于迁移后的状态结果更新。
上述实施方式中,当监听到地图低代码组件的状态发生迁移后,将低代码组件迁移后的状态结果传输至地图低代码组件中,并将低代码组件迁移后的状态结果更新至地图引擎中,地图引擎按低代码组件迁移后的状态结果更新。
例如,作为一种示例,地图低代码组件通过互操作器与其他低代码组件进行复杂的互操作时,用户触发图层状态变更,基于互操作器将地图低代码组件的状态发生迁移;将地图低代码组件的状态与地图低代码组件之间的绑定关系更新,地图低代码组件的迁移后的状态结果为新的图层参数传递给地图低代码组件,地图低代码组件基于步骤S104将新的图层信息更新到地图引擎中,地图引擎根据更新后的图层信息渲染图层。
应当理解地是,地图应用是以地图的形式展示、操纵、分析空间数据,从而实现业务功能的一种应用形式。
需要说明的是,在地图应用中,可以实现各种业务功能,包括关联分析、空间分析、数据在线编辑、预测推理等;关联分析是对与目标数据相关联的属性、空间数据进行查询、统计、展示的一类功能,例如通过商业网点的点位数据,关联查询并以表格、图表等形式展现该网点的业绩、人员、供应链等信息,以及对关联数据进行进一步的统计分析;空间分析是对目标数据用某一类空间数据进行叠加分析、缓冲区分析等空间统计分析,挖掘其分布、形态、距离、方位、拓扑关系等潜在信息,例如对商业网点进行缓冲区分析,展示各网点覆盖范围并评估网点分布情况等;数据在线编辑是指在地图应用中直接对数据的空间数据和属性数据进行新增、修改、删除等操作的功能;预测推理是指根据行业知识和相关的空间、属性数据,通过计算、推理得到对未来可能发生的事件或存在的风险的预测,并在地图上展示预测结果。
本申请实施例还公开一种基于低代码平台构建地图应用系统。
参照图5,一种基于低代码平台构建地图应用系统,包括:状态获取模块,用于获取各地图功能的第一状态或状态;
状态绑定模块,用于将地图功能状态与地图功能组件进行绑定;
状态存储模块,用于存储各地图功能的状态。
本申请实施例一种跨数据源查询服务生成系统的实施原理为:利用状态获取模块获取各地图功能的第一状态或状态,并存储至状态存储模块内;之后通过状态绑定模块将状态与地图功能组件进行绑定,从而降低了状态层与视图层之间的依赖性,提高程序的独立性,降低了维护成本。
作为状态绑定模块的一种实施方式,状态绑定模块包括:
地图状态监听单元,用于对各地图功能的第一状态或状态进行监听;
地图状态更新单元,用于将更新后新的状态更新至目标组件内。
需要说明的是,通过地图状态监听单元对各地图功能的第一状态或状态进行监听,一旦监听到状态的变化,通过地图状态更新单元将更新后的新的状态更新至对应的组件中。
本申请实施例的一种基于低代码平台构建地图应用系统能够实现上述一种基于低代码平台构建地图应用的方法的任一种方法,且一种基于低代码平台构建地图应用系统中各个模块的具体工作过程可参考上述方法实施例中的对应过程。
在本申请所提供的几个实施例中,应该理解到,所提供的方法和系统,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的;例如,某个模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
本申请实施例还公开一种计算机设备。
计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现如上述的一种基于低代码平台构建地图应用的方法。
本申请实施例还公开一种计算机可读存储介质。
计算机可读存储介质,存储有能够被处理器加载并执行如上述的一种基于低代码平台构建地图应用的方法中任一种方法的计算机程序。
其中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用;计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
需要说明的是,在上述实施例中,对各个实施例的描述各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
以上均为本申请的较佳实施例,并非依此限制本申请的保护范围,本说明书(包括摘要和附图)中公开的任一特征,除非特别叙述,均可被其他等效或者具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。
Claims (10)
1.一种基于低代码平台构建地图应用的方法,其特征在于:包括,
将地图功能划分为存储地图功能状态的状态层和构建地图功能组件的视图层,并设置所述地图功能状态和所述地图功能组件的对应关系;
将所述视图层中的所述地图功能组件包装成地图低代码组件,设置所述地图低代码组件的状态为地图功能状态,并基于数据适配器和互操作器对所述地图低代码组件的状态迁移信息进行监听和更新;
基于所述地图低代码组件、所述数据适配器和所述互操作器生成地图应用编辑器。
2.根据权利要求1所述一种基于低代码平台构建地图应用的方法,其特征在于,并设置所述状态和所述功能组件的对应关系,包括:
抽取地图引擎中各地图功能的第一状态,并将所述第一状态存储至所述状态层中;
将所述第一状态绑定至所述视图层的对应地图功能组件中;
对地图引擎中的第一状态进行监听,若监听到所述第一状态更新为第二状态,将所述第二状态更新至所述状态层中,并对所述绑定关系进行更新。
3.根据权利要求2所述一种基于低代码平台构建地图应用的方法,其特征在于,并设置所述状态和所述功能组件的对应关系,还包括:
对所述状态层中的第一状态进行监听,若监听到所述第一状态更新为第二状态,将所述第二状态更新至地图引擎中。
4.根据权利要求1-3所述一种基于低代码平台构建地图应用的方法,其特征在于,将所述视图层中的所述地图功能组件包装成地图低代码组件,设置所述地图低代码组件的状态为地图功能状态,并基于数据适配器和互操作器对所述地图低代码组件的状态迁移信息进行监听和更新,包括:
对所述地图低代码组件的状态进行监听,若监听到所述地图低代码组件的状态发生迁移,将所述地图低代码组件迁移后的状态更新至所述数据适配器中;
对所述数据适配器的状态进行监听,若监听到所述数据适配器的状态发生迁移,将所述数据适配器迁移后的状态更新至所述地图低代码组件中。
5.根据权利要求4所述一种基于低代码平台构建地图应用的方法,其特征在于,将所述数据适配器迁移后的状态更新至所述地图低代码组件中,还包括:
将所述地图低代码组件的状态绑定至对应地图低代码组件中;
若监听到所述地图低代码组件的状态发生迁移,将所述地图低代码组件迁移后的状态传输至地图低代码组件中,并更新至地图引擎中。
6.根据权利要求5所述一种基于低代码平台构建地图应用的方法,其特征在于,所述数据适配器被配置为监听自身状态,包括:
对所述数据适配器的状态进行监听,若监听到所述数据适配器的状态发生迁移,执行所述数据适配器内的预设信息请求逻辑后,将所述数据适配器迁移后的状态更新至所述数据适配器内。
7.一种基于低代码平台构建地图应用系统,包括:
状态获取模块,用于获取各地图功能的第一状态或状态;
状态绑定模块,用于将地图功能状态与地图功能组件进行绑定;
状态存储模块,用于存储各地图功能的状态。
8.根据权利要求7所述一种基于低代码平台构建地图应用系统,其特征在于,所述状态绑定模块包括:
地图状态监听单元,用于对各地图功能的第一状态或状态进行监听;
地图状态更新单元,用于将更新后新的状态更新至目标组件内。
9.一种计算机设备,其特征在于:包括存储器、处理器以及储存在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行如权利1-6中任一所述的一种基于低代码平台构建地图应用的方法。
10.一种计算机可读存储介质,其特征在于,包括存储有能够被处理器加载并执行如权利要求1至6中任一种基于低代码平台构建地图应用的方法的计算机程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310664977.2A CN116610319B (zh) | 2023-06-06 | 2023-06-06 | 一种基于低代码平台构建地图应用的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310664977.2A CN116610319B (zh) | 2023-06-06 | 2023-06-06 | 一种基于低代码平台构建地图应用的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116610319A true CN116610319A (zh) | 2023-08-18 |
CN116610319B CN116610319B (zh) | 2024-05-14 |
Family
ID=87679915
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310664977.2A Active CN116610319B (zh) | 2023-06-06 | 2023-06-06 | 一种基于低代码平台构建地图应用的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116610319B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109032587A (zh) * | 2018-07-19 | 2018-12-18 | 武汉斗鱼网络科技有限公司 | 一种数据流管理框架、方法、终端设备及存储介质 |
CN112486476A (zh) * | 2020-12-15 | 2021-03-12 | 平安国际智慧城市科技股份有限公司 | 地图生成方法、装置、存储介质及计算机设备 |
CN112698824A (zh) * | 2021-01-06 | 2021-04-23 | 北京有竹居网络技术有限公司 | 视图元件状态管理方法、装置、电子设备和存储介质 |
CN112818268A (zh) * | 2019-11-15 | 2021-05-18 | 腾讯科技(深圳)有限公司 | 一种数据展示方法、装置、终端设备及可读存储介质 |
US20210192106A1 (en) * | 2019-12-20 | 2021-06-24 | Accenture Global Solutions Limited | Micro frontends with model-based state |
CN114035773A (zh) * | 2022-01-10 | 2022-02-11 | 大汉软件股份有限公司 | 一种基于配置的低代码开发表单方法、系统及装置 |
CN114063998A (zh) * | 2020-07-31 | 2022-02-18 | 中移(苏州)软件技术有限公司 | 一种Web端模块化开发方法和系统,及存储介质 |
CN114201539A (zh) * | 2021-10-21 | 2022-03-18 | 北京大学深圳研究生院 | 一种地震预测平台 |
CN114253537A (zh) * | 2021-12-20 | 2022-03-29 | 北京沃东天骏信息技术有限公司 | 表单生成方法及装置、电子设备和存储介质 |
CN115268861A (zh) * | 2022-06-21 | 2022-11-01 | 北京志凌海纳科技有限公司 | 自定义组件的引入方法、系统、设备和存储介质 |
US20230146421A1 (en) * | 2021-11-08 | 2023-05-11 | Servicenow, Inc. | Low-Code and No-Code Customization User Interface Components |
-
2023
- 2023-06-06 CN CN202310664977.2A patent/CN116610319B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109032587A (zh) * | 2018-07-19 | 2018-12-18 | 武汉斗鱼网络科技有限公司 | 一种数据流管理框架、方法、终端设备及存储介质 |
CN112818268A (zh) * | 2019-11-15 | 2021-05-18 | 腾讯科技(深圳)有限公司 | 一种数据展示方法、装置、终端设备及可读存储介质 |
US20210192106A1 (en) * | 2019-12-20 | 2021-06-24 | Accenture Global Solutions Limited | Micro frontends with model-based state |
CN114063998A (zh) * | 2020-07-31 | 2022-02-18 | 中移(苏州)软件技术有限公司 | 一种Web端模块化开发方法和系统,及存储介质 |
CN112486476A (zh) * | 2020-12-15 | 2021-03-12 | 平安国际智慧城市科技股份有限公司 | 地图生成方法、装置、存储介质及计算机设备 |
CN112698824A (zh) * | 2021-01-06 | 2021-04-23 | 北京有竹居网络技术有限公司 | 视图元件状态管理方法、装置、电子设备和存储介质 |
CN114201539A (zh) * | 2021-10-21 | 2022-03-18 | 北京大学深圳研究生院 | 一种地震预测平台 |
US20230146421A1 (en) * | 2021-11-08 | 2023-05-11 | Servicenow, Inc. | Low-Code and No-Code Customization User Interface Components |
CN114253537A (zh) * | 2021-12-20 | 2022-03-29 | 北京沃东天骏信息技术有限公司 | 表单生成方法及装置、电子设备和存储介质 |
CN114035773A (zh) * | 2022-01-10 | 2022-02-11 | 大汉软件股份有限公司 | 一种基于配置的低代码开发表单方法、系统及装置 |
CN115268861A (zh) * | 2022-06-21 | 2022-11-01 | 北京志凌海纳科技有限公司 | 自定义组件的引入方法、系统、设备和存储介质 |
Non-Patent Citations (1)
Title |
---|
WEIXIN_0010034: "在 React 应用程序中管理 mapbox-gl 状态", pages 1 - 3, Retrieved from the Internet <URL:CSDN:https://devpress.csdn.net/react/62ed64c8c6770329307f249e.html> * |
Also Published As
Publication number | Publication date |
---|---|
CN116610319B (zh) | 2024-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102193781B (zh) | 集成设计应用 | |
US8417798B2 (en) | Deploying artifacts for packaged software application in cloud computing environment | |
CN106569783B (zh) | 一种执行任务脚本的方法和装置 | |
US20120011458A1 (en) | Visualizing Expressions for Dynamic Analytics | |
CN112199086A (zh) | 自动编程控制系统、方法、装置、电子设备及存储介质 | |
CN110147225A (zh) | 一种代码生成方法、装置及计算机设备、存储介质 | |
CN103984818A (zh) | 基于Flex技术的AUV设计流程可视化建模方法 | |
US20120185827A1 (en) | Custom code lifecycle management | |
US9542164B1 (en) | Managing an application variable using variable attributes | |
CN108536964A (zh) | 存储介质、卫星星座覆盖性能仿真分析方法及其系统 | |
CN113821201A (zh) | 一种代码开发方法、装置及电子设备和存储介质 | |
CN115495069A (zh) | 基于模型驱动的煤炭工业软件流程实现方法、装置及设备 | |
CN101268441A (zh) | Uml示图的导航方法、系统和计算机程序 | |
CN110309239B (zh) | 一种可视化地图编辑方法和装置 | |
CN115878589A (zh) | 结构化数据的版本管理方法、装置及相关设备 | |
CN116610319B (zh) | 一种基于低代码平台构建地图应用的方法及系统 | |
CN114779978A (zh) | 一种数据可视化的融合方法、系统、装置和介质 | |
CN114282620A (zh) | 一种多源信息物理孪生数据融合管理方法与管理系统 | |
CN114675921A (zh) | 一种自定义界面的方法、装置、电子设备和存储介质 | |
CN114692055A (zh) | 表单处理方法、装置、存储介质与电子设备 | |
CN113568614A (zh) | 任务发布方法、电子设备及存储介质 | |
US20080147221A1 (en) | Grid modeling tool | |
US11797147B2 (en) | Mobile viewer object statusing | |
KR20190143595A (ko) | 동시병행 일정 최적화 방법 및 시스템 | |
CN112988695B (zh) | 一种超融合混合架构计算材料平台 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20240220 Address after: Room 105, 1st Floor, Building 5, No. 8 Dongbei Wangxi Road, Haidian District, Beijing, 100193 Applicant after: Yizhirui Information Technology Co.,Ltd. Country or region after: China Address before: 601, Unit 6, 3rd Floor, No. 25 Shangdi East Road, Haidian District, Beijing, 100089 Applicant before: Beijing Jietai Yunji Information Technology Co.,Ltd. Country or region before: China |
|
GR01 | Patent grant |