我一直在研究一个Android项目。 然后我想出了2个问题。
Q1。如何实现导航驱动? 我的逻辑和一些工作 - 我能够在2地址之间绘制路径。我的想法是,使用onLocationChanged(current)方法,然后使用当前位置和目标调用https://maps.googleapis.com/maps/api/directions/output?parameters,通过某种方法在地图上绘制路径。 在每次onLocationChanged()方法调用时,我再次重绘地图上的路径。 "是我们如何做导航? "
Q2。如何实现语音导航与Q1一起使用? - 做过一些研究,找不到任何看似明显有用的东西。所有我都知道,在/ api / directions的返回JSON中,有一个方向指令。 "我是否将它用于返回JSON的语音?还是有更好的方法? "
对于某些链接或示例详细信息非常有帮助。 在adavnce中感谢
答案 0 :(得分:2)
这就是我所知道的,希望它可以帮助你。
关于第一个问题:
检索路线和必要的数据后,您必须只绘制一次方向!是的,您必须使用onLocationChanged()
但不要重新绘制整个内容..如果您在大多数导航应用程序中发现它们仍然保留主要路径,则它们不会删除传递的部分...但是你必须使用onLocationChanged()
来检查用户是否在绘制的路径之外(可能是100米),所以你必须重新计算并重新绘制它...每次用户移动时重绘路径都是昂贵的操作最好避免......
关于第二个问题:
正如你所说,检索到的数据已经有了导航命令..所以你要做的是创建一个类来用语音映射命令..如果你注意到legs -> steps
标签,那里是每个子路径的起点和终点坐标,因此您可以使用这些数据来计算它们之间每200米的距离,例如“用户向左转多远”的命令。
希望这能让您大致了解它的工作原理。祝你好运,编程愉快。