基本上我制作了一个基于osm的qml映射。我可以在上面显示路线。现在我需要模拟一个点或圆圈沿着路线移动,无论何时左转或右转,都需要发出信号。任何指向相关资源的指针都将受到高度赞赏。
以下是QtLocation 5.9:中的一种可能方法
- 定义机动的围栏距离阈值
- 定义与路线的距离阈值
然后使用MapRoute中的坐标构建一个QGeoPath,并将路径的宽度设置为上面的第二个阈值。
然后,在每次gps更改时(也许你可以稍微限制一下),你检查两件事:
-
位置和下一次机动之间的距离小于机动阈值。如果是,以某种方式显示该动作,然后继续下一个动作。
-
位置和路线之间的距离(path.contents())。如果您超过这个阈值,您可能需要启动另一个路线计算,因为您最终偏离了路线。