QML Map中测距 |
您所在的位置:网站首页 › 百度地图怎么划线测距 › QML Map中测距 |
QML Map中测距
1. 实现思路2. 实现代码及git链接
本文转载于:QML QtLocation轻量级地图应用学习:实现测距功能 所有的热爱都要不遗余力,真正喜欢它便给它更高的优先级,和更多的时间吧! QML其它文章请点击这里: QT QUICK QML 学习笔记 1. 实现思路参照百度or高德地图的测距功能,主要由两种元素组成,标记点和连线。 接下来就是封装一个 Ruler 的组件,实现多次测距的绘制。每次开始测距时,通过 createObject 动态创建一个 Ruler 组件,然后往里面添加坐标点。坐标点我是在 Map 上放了一个 MouseArea ,然后用 Map 的 toCoordinate 方法把 point 转换成坐标点。 此外,如果要自己计算两点距离,可以参考网上球面两点距离的公式,如: 下面是实现效果: Ruler组件的实现代码: //MapRuler.qml import QtQuick 2.12 import QtQuick.Controls 2.12 import QtLocation 5.12 import QtPositioning 5.12 // 一次测距里包含多个标记点以及连线 MapItemGroup{ id: control MapPolyline { id: item_line line.color: "red" line.width: 2 //平滑后放大有点卡 //layer.enabled: true //layer.smooth: true //layer.samples: 8 function getDistanceCount(){ var distance_count=0; for(var i=1;i |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |