CN113190299B - 基于vue在地图上展示自定义图层的方法和设备 - Google Patents
基于vue在地图上展示自定义图层的方法和设备 Download PDFInfo
- Publication number
- CN113190299B CN113190299B CN202010036719.6A CN202010036719A CN113190299B CN 113190299 B CN113190299 B CN 113190299B CN 202010036719 A CN202010036719 A CN 202010036719A CN 113190299 B CN113190299 B CN 113190299B
- Authority
- CN
- China
- Prior art keywords
- vue
- instance
- map
- object card
- card
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0253—Garbage collection, i.e. reclamation of unreferenced memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Remote Sensing (AREA)
- Data Mining & Analysis (AREA)
- Stored Programmes (AREA)
Abstract
本申请公开了一种基于VUE在地图上展示自定义图层的方法和设备,包括:进行地图初始化时,设置需要加载的所有对象的基本信息;需要展示对象卡片时,向web发送获取对象卡片实例的请求;web动态创建VUE实例,并将对象卡片实例返回地图图层;其中,所述对象卡片实例为dom节点;地图图层根据web返回的dom节点进行绘制,展示对应的对象卡片,将dom挂载到地图上。应用本申请公开的技术方案,能够节省内存资源。
Description
技术领域
本申请涉及计算机应用技术领域,特别涉及一种基于VUE在地图上展示自定义图层的方法和设备。
背景技术
在地图应用程序(APP)上可以展示各种对象(人、车、摄像头等),不同的对象在地图上展示不同的样式,并且对象存在如下各种状态:
1、不同的地图缩放级别,对象需要展示不同的对象卡片(样式);
2、对象在不同的业务下存在不同的状态,并需要展示不同的对象卡片(样式);
3、不同的用户操作下(鼠标单击、双击、拖动等),对象需要展示不同的对象卡片(样式)。
目前,大部分的自定义图层实现都是在图层初始化时将所有的对象卡片全部加载到图层上,当需要对对象卡片上的数据进行更新时,需要调用地图接口来实现更新。
根据现有技术,对象以图片的形式在地图上展示,这种方式存在以下问题:
1、难以做到展示样式的丰富性;
2、只能提供一个图片点击事件,不能提供更多用户交互事件,交互性较差;
3、更新对象属性数据时需要通过地图接口进行更新,这将导致地图数据的重新计算,性能低下;
4、基于第三方地图进行开发时,业务开发不能做到界面自定义,研发和维护成本高。
发明内容
本申请提供了一种基于VUE在地图上展示自定义图层的方法,以节省内存资源。
本申请公开了一种基于可视用户环境VUE在地图上展示自定义图层的方法,包括:
进行地图初始化时,设置需要加载的所有对象的基本信息;
需要展示对象卡片时,向web发送获取对象卡片实例的请求;
web动态创建VUE实例,并将对象卡片实例返回地图图层;其中,所述对象卡片实例为dom节点;
地图图层根据web返回的dom节点进行绘制,展示对应的对象卡片,将dom挂载到地图上。
较佳的,该方法还包括:
将不同的对象卡片抽象为不同的VUE组件,不同的VUE组件分别实现各自的业务功能。
较佳的,将对象卡片共有的功能抽象到一个父对象卡片中,所有的对象卡片在动态创建时都继承自所述父对象卡片。
较佳的,该方法还包括:
通过定时器定时清理不在地图上绘制的对象卡片。
较佳的,所述通过定时器定时清理不在地图上绘制的对象卡片具体包括:
在创建对象卡片的VUE实例时,为所有的对象卡片分别分配唯一标识,并将对象卡片的VUE实例保存到内存中;
设置一定时器,在定时器到时时,遍历内存中的所保存的VUE实例,对地图中没有找到的对象卡片的VUE实例进行标记;
在定时器下一次到时,再次遍历内存中的VUE实例时,如果已被标记的对象卡片仍然没有在地图中,则将所述对象卡片的VUE实例从内存中清除。
本申请还提供了一种基于VUE在地图上展示自定义图层的设备,该设备包括:处理器和通信模块,其中:
所述处理器,用于在进行地图初始化时,设置需要加载的所有对象的基本信息,在需要展示对象卡片时,通过所述通信模块,向web发送获取对象卡片实例的请求,并通过所述通信模块接收web动态创建VUE实例后返回的对象卡片实例;其中,所述对象卡片实例为dom节点;
所述处理器还用于根据web返回的dom节点进行绘制,展示对应的对象卡片,将dom挂载到地图上。
较佳的,所述处理器还用于:
将不同的对象卡片抽象为不同的VUE组件,不同的VUE组件分别实现各自的业务功能。
较佳的,所述处理器具体用于:
将对象卡片共有的功能抽象到一个父对象卡片中,所有的对象卡片在动态创建时都继承自所述父对象卡片。
较佳的,所述处理器还用于:通过定时器定时清理不在地图上绘制的对象卡片。
较佳的,所述处理器具体用于:
在创建对象卡片的VUE实例时,为所有的对象卡片分别分配唯一标识,并将对象卡片的VUE实例保存到内存中;
设置一定时器,在定时器到时时,遍历内存中的所保存的VUE实例,对地图中没有找到的对象卡片的VUE实例进行标记;
在定时器下一次到时,再次遍历内存中的VUE实例时,如果已被标记的对象卡片仍然没有在地图中,则将所述对象卡片的VUE实例从内存中清除。
由上述技术方案可见,本申请提供的基于VUE在地图上展示自定义图层的技术方案,通过在进行地图初始化时,设置需要加载的所有对象的基本信息,并通过web动态创建VUE实例,然后将对象卡片的实例(dom节点)返回地图图层,由地图图层进行绘制,将要显示的对象卡片挂载到地图上,从而,地图里只需保存界面上需要展示的节点而不是所有的节点,从而节约了内存资源。
在上述方案的基础上,本申请通过将对象卡片共有的功能抽象到一个父对象卡片中统一处理,使得所有的对象卡片在动态创建时都可以继承自该父对象卡片,便于管理。
此外,本申请通过设置定时器来定时清理不在地图上绘制的对象卡片的VUE实例所占用的内存,使得地图上已释放的对象卡片的VUE实例所占用的内存能够被及时释放,从而解决了地图在释放对象卡片时不通知业务,而导致的业务无法获知应当何时释放内存中的VUE实例的技术问题。
附图说明
图1为本申请基于VUE在地图上展示自定义图层的方法示意图;
图2为存在若干对象卡片的全景地图;
图3为图2所示全景地图中的某一对象卡片被点击后所展示的对象卡片以及汇聚卡片示意图;
图4为图3所示汇聚卡片被点击后所展示的对象卡片示意图;
图5为本申请基于VUE在地图上展示自定义图层的设备的组成结构示意图。
具体实施方式
为使本申请的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本申请作进一步详细说明。
为解决现有技术所存在的问题,本发明从以下几个方面着手进行了改进:
1、当将所有要展示的对象、所有对象的不同状态、所有对象要展示的对象卡片节点都放到地图中时,对象越多要展示的对象卡片就越多,内存消耗就越大,这样很容易导致客户端软件内存不够,需要解决该问题。
2、对所有对象卡片的相同事件(焦点态、鼠标单击、双击、拖动等)的抽象和封装。
3、对象卡片事件和地图事件冲突管理。
4、地图上对象卡片的管理,包括对象卡片实例的动态创建和销毁。
本申请提供了一种基于VUE(Visible User Environment:可视用户环境)在地图上展示自定义图层的方法,该方法如图1所示,包括以下步骤:
步骤1:当从web收到创建地图图层(CreateLayer)的命令时,进行地图初始化,设置需要加载的所有对象的基本信息。
步骤2:需要展示对象卡片时,向web发送获取对象卡片实例的请求。
步骤3:web动态创建VUE实例,并将对象卡片实例(dom节点)返回地图图层。
步骤4:地图图层根据web返回的dom节点进行绘制,展示对应的对象卡片,将dom挂载到地图上。
这样,地图中需要保存的对象卡片(dom节点)仅为界面上展示的节点,而不需要保存所有的节点,从而节约了内存资源。
此外,本申请将不同的对象卡片抽象为不同的VUE组件,不同的VUE组件分别实现各自的业务功能,通过VUE动态生成技术创建VUE组件实例,并获取组件实例的dom节点返回给地图进行绘制。由于所有对象卡片具有一些相同的用户事件,比如对象卡片的焦点态、鼠标单击、鼠标双击等,且存在对象卡片拖动和地图拖动冲突等,因此,将这些共有功能抽象到一个父对象卡片中统一处理,所有的对象卡片在动态创建的时候都可以继承自该父对象卡片。
一个VUE组件示例如下所示:
以上代码首先定义了一个VUE组件,然后创建了一个该VUE组件的实例。
由于地图在释放对象卡片时所做的操作只是:绘制地图显示区域的对象卡片,并释放不显示的对象卡片,而不会通知业务,因此,业务无法获知何时应当释放内存中的VUE实例,为解决该技术问题,本申请提出如下解决方案:通过定时器来定时清理不在地图上绘制的对象卡片。具体而言:
在创建对象卡片的VUE实例时,为所有的对象卡片分别分配唯一标识,并将对象卡片的VUE实例保存到内存中;
设置一定时器,在定时器到时时,遍历内存中的所保存的VUE实例,对地图中没有找到的对象卡片的VUE实例进行标记;
在定时器下一次到时,再次遍历内存中的VUE实例时,如果已被标记的对象卡片仍然没有在地图中,则将此对象卡片的VUE实例从内存中清除。
本申请的应用示例图如图2至图4所示。其中:
图2为存在若干对象卡片的全景地图。
图3为图2所示全景地图中的某一对象卡片被点击后所展示的对象卡片以及汇聚卡片示意图。
图4为图3所示汇聚卡片被点击后所展示的对象卡片示意图。
对应于上述方法,本申请还公开了一种基于VUE在地图上展示自定义图层的设备,其组成结构如图5所示,该设备包括:处理器和通信模块,其中:
所述处理器,用于在进行地图初始化时,设置需要加载的所有对象的基本信息,在需要展示对象卡片时,通过所述通信模块,向web发送获取对象卡片实例的请求,并通过所述通信模块接收web动态创建VUE实例后返回的对象卡片实例;其中,所述对象卡片实例为dom节点;
所述处理器还用于根据web返回的dom节点进行绘制,展示对应的对象卡片,将dom挂载到地图上。
较佳的,所述处理器还用于:
将不同的对象卡片抽象为不同的VUE组件,不同的VUE组件分别实现各自的业务功能。
较佳的,所述处理器具体用于:
将对象卡片共有的功能抽象到一个父对象卡片中,所有的对象卡片在动态创建时都继承自所述父对象卡片。
较佳的,所述处理器还用于:
通过定时器定时清理不在地图上绘制的对象卡片。
较佳的,所述处理器具体用于:
在创建对象卡片的VUE实例时,为所有的对象卡片分别分配唯一标识,并将对象卡片的VUE实例保存到内存中;
设置一定时器,在定时器到时时,遍历内存中的所保存的VUE实例,对地图中没有找到的对象卡片的VUE实例进行标记;
在定时器下一次到时,再次遍历内存中的VUE实例时,如果已被标记的对象卡片仍然没有在地图中,则将所述对象卡片的VUE实例从内存中清除。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (6)
1.一种基于可视用户环境VUE在地图上展示自定义图层的方法,其特征在于,包括:
进行地图初始化时,设置需要加载的所有对象的基本信息;
需要展示对象卡片时,向web发送获取对象卡片实例的请求;
web动态创建VUE实例,并将对象卡片实例返回地图图层;其中,所述对象卡片实例为dom节点;
地图图层根据web返回的dom节点进行绘制,展示对应的对象卡片,将dom挂载到地图上;
通过定时器定时清理不在地图上绘制的对象卡片,具体包括:
在创建对象卡片的VUE实例时,为所有的对象卡片分别分配唯一标识,并将对象卡片的VUE实例保存到内存中;
设置一定时器,在定时器到时时,遍历内存中的所保存的VUE实例,对地图中没有找到的对象卡片的VUE实例进行标记;
在定时器下一次到时,再次遍历内存中的VUE实例时,如果已被标记的对象卡片仍然没有在地图中,则将所述对象卡片的VUE实例从内存中清除。
2.根据权利要求1所述的方法,其特征在于,该方法还包括:
将不同的对象卡片抽象为不同的VUE组件,不同的VUE组件分别实现各自的业务功能。
3.根据权利要求2所述的方法,其特征在于:
将对象卡片共有的功能抽象到一个父对象卡片中,所有的对象卡片在动态创建时都继承自所述父对象卡片。
4.一种基于VUE在地图上展示自定义图层的设备,其特征在于,该设备包括:处理器和通信模块,其中:
所述处理器,用于在进行地图初始化时,设置需要加载的所有对象的基本信息,在需要展示对象卡片时,通过所述通信模块,向web发送获取对象卡片实例的请求,并通过所述通信模块接收web动态创建VUE实例后返回的对象卡片实例;其中,所述对象卡片实例为dom节点;
所述处理器还用于根据web返回的dom节点进行绘制,展示对应的对象卡片,将dom挂载到地图上;
所述处理器还用于:通过定时器定时清理不在地图上绘制的对象卡片,具体包括:
在创建对象卡片的VUE实例时,为所有的对象卡片分别分配唯一标识,并将对象卡片的VUE实例保存到内存中;
设置一定时器,在定时器到时时,遍历内存中的所保存的VUE实例,对地图中没有找到的对象卡片的VUE实例进行标记;
在定时器下一次到时,再次遍历内存中的VUE实例时,如果已被标记的对象卡片仍然没有在地图中,则将所述对象卡片的VUE实例从内存中清除。
5.根据权利要求4所述的设备,其特征在于,所述处理器还用于:
将不同的对象卡片抽象为不同的VUE组件,不同的VUE组件分别实现各自的业务功能。
6.根据权利要求5所述的设备,其特征在于,所述处理器具体用于:
将对象卡片共有的功能抽象到一个父对象卡片中,所有的对象卡片在动态创建时都继承自所述父对象卡片。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010036719.6A CN113190299B (zh) | 2020-01-14 | 2020-01-14 | 基于vue在地图上展示自定义图层的方法和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010036719.6A CN113190299B (zh) | 2020-01-14 | 2020-01-14 | 基于vue在地图上展示自定义图层的方法和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113190299A CN113190299A (zh) | 2021-07-30 |
CN113190299B true CN113190299B (zh) | 2022-08-09 |
Family
ID=76972513
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010036719.6A Active CN113190299B (zh) | 2020-01-14 | 2020-01-14 | 基于vue在地图上展示自定义图层的方法和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113190299B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114969236B (zh) * | 2022-07-25 | 2022-11-25 | 倍智智能数据运营有限公司 | 一种基于React实现自定义地图标注的方法 |
CN117666993A (zh) * | 2023-10-20 | 2024-03-08 | 南京荣耀软件技术有限公司 | 基于快应用卡片显示地图的方法、设备、服务器及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106257446A (zh) * | 2015-06-19 | 2016-12-28 | 苏州市大创信息运用有限公司 | 基于经纬度的地理信息手绘系统 |
CN109101225A (zh) * | 2017-06-20 | 2018-12-28 | 腾讯科技(深圳)有限公司 | 组件构造方法及装置、组件库架构及计算机可读存储介质 |
CN109656654A (zh) * | 2018-11-30 | 2019-04-19 | 厦门亿力吉奥信息科技有限公司 | 大屏场景的编辑方法及计算机可读存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9104809B2 (en) * | 2010-03-24 | 2015-08-11 | Fujitsu Limited | Facilitating automated validation of a web application |
-
2020
- 2020-01-14 CN CN202010036719.6A patent/CN113190299B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106257446A (zh) * | 2015-06-19 | 2016-12-28 | 苏州市大创信息运用有限公司 | 基于经纬度的地理信息手绘系统 |
CN109101225A (zh) * | 2017-06-20 | 2018-12-28 | 腾讯科技(深圳)有限公司 | 组件构造方法及装置、组件库架构及计算机可读存储介质 |
CN109656654A (zh) * | 2018-11-30 | 2019-04-19 | 厦门亿力吉奥信息科技有限公司 | 大屏场景的编辑方法及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113190299A (zh) | 2021-07-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8775923B1 (en) | Web page restoration | |
US8788760B2 (en) | Adaptive caching of data | |
CN113190299B (zh) | 基于vue在地图上展示自定义图层的方法和设备 | |
CN108848157A (zh) | 一种Kubernetes集群容器监控的方法和装置 | |
WO2016107465A1 (zh) | 一种卡片式桌面的实现方法、装置和系统 | |
CN109144652B (zh) | 一种视图显示方法、装置、电子设备及存储介质 | |
CN106484544B (zh) | 一种对物联网设备进行虚拟化的方法和装置 | |
US20160196008A1 (en) | Implementing desktops on a mobile terminal | |
CN105808221A (zh) | 一种卡片式桌面的实现方法和装置 | |
CN112000911B (zh) | 页面管理方法、装置、电子设备以及存储介质 | |
CN110990090A (zh) | 动态壁纸显示方法、设备以及计算机可读介质 | |
CN111858257A (zh) | 一种实现获取容器集群资源使用数据的系统及方法 | |
CN112073474A (zh) | 基于three.js的智慧数据中心管理方法及系统 | |
CN113285886A (zh) | 一种带宽分配的方法、装置、电子设备及可读存储介质 | |
CN116089090A (zh) | 一种图形显示器的虚拟资源配置方法、装置、设备、介质 | |
CN112464120A (zh) | 数据可视化展示方法、装置、电子设备及存储介质 | |
CN106559453A (zh) | 云互通的外部资源管理方法、装置及系统 | |
US20120254436A1 (en) | Integration of an application server and data grid | |
CN113139123A (zh) | 资源推荐方法、装置、服务端以及存储介质 | |
CN110162395A (zh) | 一种内存分配的方法及装置 | |
CN105183288B (zh) | 单窗口多任务显示方法及其智能移动终端 | |
CA2567631A1 (en) | Displaying graphical textures | |
CN116032614A (zh) | 容器网络微隔离方法、装置、设备和介质 | |
CN114547523A (zh) | 在直播间中进行活动导航的方法、装置、设备及存储介质 | |
CN107592340A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |