如何保持道路标记?谷歌地图安卓版

6
我正在开发一款跟踪用户GPS位置并在地图上显示标记的应用程序。更新频率为每2秒。
问题是我得到的位置不如其他应用程序(例如WAZE,Maps等)准确。用户始终在驾驶,因此在道路上行驶,但有时标记会偏左或偏右几米。
使用其他应用程序时,这种情况并不会发生,它们知道您在道路上,并将位置对齐到它上面,忽略了一些小的GPS误差。
那么,我该怎么做才能实现这一点呢?我真的需要它!
非常感谢您的帮助=)
还没有解决吗?请帮忙!

1
你是否正在使用路线?如果是,你可以使用一个算法来确定路线上最接近你导航点的位置,并将标记锁定在该位置,而不是从GPS获取的位置(可能会有一些偏差)。这样可以让你始终保持在道路上。但如果没有路线,我不确定如何实现这一点。 - zgc7009
谢谢你的回答!我没有使用路由,用户处于“自由运行”模式。即便如此,像我提到的应用程序在该模式下也会进行更正。我真的卡在这一点上了。 - Alberto
1个回答

2
道路的GPS误差可以通过将原始数据叠加在道路地图上来修正。为了实现小规模的修正,您可以使用“Snap to Roads API”,这是由Google Maps和OSM等地图提供商提供的API。

如果您正在寻找一种端到端的解决方案,可以在道路上可视化位置数据,还可以尝试适用于Android或iOS的HyperTrack SDK。汽车驾驶员的位置数据会自动对齐到道路上。(免责声明:我在HyperTrack工作。)


你知道如何使用Google Maps的Snap to Roads API添加标记(甚至是起点和终点)吗? - aldrien.h
@arjunattam 谷歌的道路捕捉有限制,路径不能包含太多点。每个请求的最大点数为100个。我已经亲自测试过了,500个带有6位精度的lat/lng点会抛出错误“code”: 400。 - Snowbases

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接