标题:Qt/C++地图测距/显示不同线段的距离/拿到测距结果/测距结束信号
作者:liudianwu
日期:2024-12-16 11:05
内容:
## 一、前言说明
地图测距在地图组件中属于一个比较小众的功能,但是又不得不提供,有时候用户希望直接在地图上选点,测算距离,尤其是在一些军事领域用的比较多,测距功能提炼出来的共性就是,每一段都有距离,最后鼠标右键或者双击结束测距,然后发个信号传过来总的距离。一般地图厂家也都提供了对应的事件,比如百度地图的addpoint事件表示每次添加一段线条就触发,drawend事件表示测距完成。为了统一处理,统一定一个信号传出对应的测距过程和测距结束。
在天地图的js交互过程中,发现有抄袭百度地图的设计思路,addpoint表示每点下一个点是一段路线,draw事件表示测距结束。目前发现腾讯地图没有提供直接的测距功能,而是提供的集合运算库Math.round(qq.maps.geometry.spherical.computeDistanceBetween(start, end)。
## 二、相关代码
```cpp
void MapObjBaiDu::addDistanceTool()
{
//添加测距工具/同时添加监听事件/监听点按下以及完成测距
html