标题:Qt/C++路径轨迹回放/回放每个点信号/回放结束信号/拿到移动的坐标点经纬度
作者:liudianwu
日期:2024-10-24 14:00
内容:
## 一、前言说明
在使用百度地图的路书功能中,并没有提供移动的信号以及移动结束的信号,但是很多时候都期望拿到移动的哪里了以及移动结束的信号,以便做出对应的处理,比如结束后需要触发一些对应的操作。经过搜索发现很多人都有这个需求,需要在js文件中加上一点代码才行,也就是在start开始的时候传入两个回调函数movestep和moveend,在js文件对应移动标注点的地方触发这个回调,在移动到末尾的时候再去触发moveend信号,这个回调参数中可以带上对应的对象以及坐标经纬度值。为什么还要带上对象或者唯一标识呢,因为可能有多个移动的点,需要这个唯一标识区分是谁发出来的。还有个注意点是,既然是改动过的js文件了,那肯定不能再引用网络地址上的那个js文件,就需要引用本地的改过的js文件。
关于路书功能,每个地图内核都有自己独特的实现方法和信号,比如高德地图提供的是moving信号,参数是走过的路径,并没有当前路径点,需要从这个路径集合中取末尾这个才是当前路径点,也可以通过调用标注点marker.getPosition方法来获取。天地图只提供了passOneNode事件,每移动一个点就触发一次,带了三个参数lnglat表示当前经纬度,index表示当前点索引, length表示当前路径点的长度数量,那怎么判断移动结束了呢,只需要判断index和length相等就行。腾讯地图就比较友善,两个事件都提供了,而且参数也是能拿到经纬度值。
## 二、功能特点
### 2.1 地图功能
1. 支持多种地图内核,默认采用百度地图,可选高德地图、天地图、腾讯地图、谷歌地图等。
2. 同时支持在线地图和离线地图两种模式,离线地图方便在不联网的场景中使用。
3. 支持各种地图控件的启用,比如地图导航、地图类型、缩略图、比例尺、全景导航、实时路况、绘图工具、结果面板等。
4. 支持多种地图功能的动态启用禁用,比如地图拖曳、键盘操作、滚轮缩放、双击放大、连续缩放、地图测距等。
5. 提供众多js函数接口用于交互,参数极其丰富,能够想到的应用场景需求都有。
6. 统一的信号槽机制,地图中的结果统一信号发送出去,收到后根据type类型区分。
7. 支持地图交互,比如鼠标按下获取对应位置的经纬度。单击标注点弹出对应点的信息。
8. 支持添加标注、删除标注、移动标注、清空标注。
9. 标注点可以指定图标图片和尺寸,支持gif动图,支持指定以图片中心对齐还是底部中心对齐。可以设置旋转角度,带富文本提示信息。
10. 标注点事件支持单击发信号通知和自己弹框显示信息。
11...