一种地图标记强交互方法、终端设备和存储介质与流程

文档序号:36820816发布日期:2024-01-26 16:28阅读:20来源:国知局
一种地图标记强交互方法、终端设备和存储介质与流程

本发明涉及前端开发,特别是涉及一种地图标记强交互方法,用于实现地图引擎中加载的地图标记与用户之间的强交互,使用户可以操作地图标记进行移动、旋转、缩放。


背景技术:

1、随着地理信息技术的蓬勃发展,地图相关应用越来越丰富,支持用户进行地图标记几乎是此类应用的标配功能。市面上常用的地图引擎技术均可支持用户在地图上叠加标记,但是对于地图标记的用户交互性却支持较弱。以当前广泛应用的三维地球引擎mapbox为例,仅支持用户对地图标记进行移动,没有对地图标记进行旋转缩放等功能,导致用户无法对自己创建的地图标记进行随心所欲的操作,严重影响相关功能性和用户体验。

2、在此情况下,亟需能够支持用户进行地图标记强交互的方法。目前现有技术中缺少完整的地图标记强交互实现方法,也缺乏各种交互集成后引发的操作冲突问题的相关解决方法。


技术实现思路

1、为解决上述问题,本发明提供一种地图标记强交互方法、终端设备和存储介质。

2、本发明采取如下的技术方案:

3、一种地图标记强交互方法,包括以下步骤:

4、步骤一:构建地图标记的用户交互结构,所述用户交互结构包括与地图标记展示区域重合的移动交互响应区域、设置在移动交互响应区域四周的缩放交互响应区域以及设置在缩放交互响应区域四周的旋转交互响应区域;

5、步骤二:地球引擎加载地图标记,并将地图标记配置为在地图旋转和倾角时跟随地图;

6、步骤三:采用地图标记移动方法实现对地图标记的移动,采用地图标记缩放方法实现对地图标记的缩放,采用地图标记旋转方法实现对地图标记的旋转;

7、其中所述地图标记移动方法包括以下步骤:

8、步骤(1):判断所述地球引擎是否自带支持标记移动的功能,若支持,则直接使用所述地球引擎实现地图标记的移动,否则,执行步骤(2);

9、步骤(2):监听在移动交互响应区域的鼠标按下事件,当鼠标按下事件发生时执行步骤(3);

10、步骤(3):禁止地图被拖拽,并开启对鼠标移动事件和鼠标松开事件的监听,当鼠标移动事件发生时执行步骤(4),当鼠标松开事件发生时执行步骤(5);

11、步骤(4):通过地图引擎获取鼠标当前所在位置,将地图标记位置设置为鼠标当前所在位置;

12、步骤(5):解除对鼠标移动事件和鼠标松开事件的监听;

13、所述地图标记缩放方法包括以下步骤:

14、步骤(1):监听在以缩放交互响应区域为边框的元素上的鼠标按下事件,当鼠标按下事件发生时,判断鼠标处于缩放交互响应区域的位置,所述位置为缩放交互响应区域的四条边之一或者四个角之一,然后执行步骤(2);

15、步骤(2):禁止地图被拖拽和地图标记被移动,保存鼠标当前所在位置,并开启对鼠标移动事件和鼠标松开事件的监听,当鼠标移动事件发生时执行步骤(3),当鼠标松开事件发生时执行步骤(4);

16、步骤(3):根据鼠标处于缩放交互响应区域的位置修改鼠标展示样式;

17、获取地图标记当前的旋转角度,根据地图标记当前的旋转角度判断地图标记相对处于横向或是纵向,再根据判断出的方向确定地图标记的宽度和高度修改方式;

18、获取鼠标当前所在位置;

19、根据鼠标处于缩放交互响应区域的位置、上一时刻的鼠标所在位置、鼠标当前所在位置、地图标记当前的宽度和高度,计算地图标记应该设为的宽度和高度并进行设置;

20、更新鼠标当前所在位置的值;

21、步骤(4):解除对鼠标移动事件和鼠标松开事件的监听;

22、所述地图标记旋转方法包括以下步骤:

23、步骤(1):监听在旋转交互响应区域的鼠标按下事件,当鼠标按下事件发生时执行步骤(2);

24、步骤(2):禁止地图被拖拽和地图标记被移动,计算鼠标当前所在位置相对于地图标记中心的角度,并保存地图标记的当前旋转角度,同时开启对鼠标移动事件和鼠标松开事件的监听,当鼠标移动事件发生时执行步骤(3),当鼠标松开事件发生时执行步骤(4);

25、步骤(3):计算鼠标当前所在位置相对于地图标记中心的角度以及该角度相比于步骤(2)中计算得到的角度的角度变化值,根据角度变化值和步骤(2)中保存的地图标记旋转角度计算当前地图标记的角度值并将该角度值设置为地图标记的旋转角度;

26、步骤(4):解除对鼠标移动事件和鼠标松开事件的监听。

27、与现有技术相比,本发明具有如下有益效果:

28、本发明所提出的地图标记强交互方法通过对地图标记的用户交互结构进行设计,综合运用地球引擎,支持用户对地图标记进行移动、旋转和缩放,补充了以往地图标记强交互完整方案的缺失;同时解决了各种交互集成后引发的操作冲突问题,达到操作流畅、交互效果准确、体验舒适的性能效果,在用户进行地图标注的相关功能中进行运用,大大增强功能性和用户体验性,具有高度实用性和广阔的应用空间。



技术特征:

1.一种地图标记强交互方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的一种地图标记强交互方法,其特征在于,通过以下步骤判断鼠标处于缩放交互响应区域的位置:

3.根据权利要求1或2所述的一种地图标记强交互方法,其特征在于,根据地图标记当前的旋转角度判断地图标记相对处于横向或是纵向时,根据地图标记当前的旋转角度rotatedeg计算cos(rotatedeg*π/180)的值,当|cos(rotatedeg*π/180)|<0.5时,判断地图标记相对处于横向,否则相对处于纵向。

4.根据权利要求1或2所述的一种地图标记强交互方法,其特征在于,缩放交互响应区域为以地图标记展示区域为中心的回形,旋转交互响应区域为以地图标记展示区域为中心的部分空心圆形。

5.根据权利要求1或2所述的一种地图标记强交互方法,其特征在于,所述地图引擎采用mapbox引擎。

6.一种地图标记强交互终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5任意一项所述方法的步骤。

7.一种存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任意一项所述方法的步骤。


技术总结
本发明涉及一种地图标记强交互方法、终端设备和存储介质,其中方法包括步骤:构建地图标记的用户交互结构,用户交互结构包括移动交互响应区域、缩放交互响应区域以及旋转交互响应区域;地球引擎加载地图标记,并将地图标记配置为在地图旋转和倾角时跟随地图;采用地图标记移动方法实现对地图标记的移动,采用地图标记缩放方法实现对地图标记的缩放,采用地图标记旋转方法实现对地图标记的旋转。本发明实现了支持用户对地图标记进行移动、旋转和缩放的操作,补充了以往地图标记强交互完整方案的缺失;同时解决了各种交互集成后引发的操作冲突问题,达到操作流畅、交互效果准确、体验舒适的性能效果。

技术研发人员:宁佳慧
受保护的技术使用者:长光卫星技术股份有限公司
技术研发日:
技术公布日:2024/1/25
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1