需要使用谷歌地图找到实时行驶的距离。这应该由手机应用程序本身来计算。我指的是实时,例如,如果用户正在行进到点A,用户可以通过许多方式到达点,我想要做的是计算用户实时行进的总距离,而不仅仅是假设和计算两点之间的距离(这不会给出正确的答案)。
我在谷歌上到处搜索这个问题,但找不到任何方法。
我个人考虑将手机上的经度和纬度存储在一个列表中,在用户到达目的地后,使用这些点来计算距离。然而,这意味着我必须决定存储这些点的间隔(每隔1分钟左右),这意味着我将在列表中放置位置点,即使用户实际上仍然在同一条道路上,这是非常不必要的。除非有人知道如何在适当的时间存储点或其他解决方案
我或多或少被这个问题难住了,任何帮助都是非常感谢的。
移动平台为Android
谢谢,MilindaD
发布于 2011-03-22 00:38:11
我认为最好的解决方案是每X秒保存一次位置,然后计算它们之间迭代的总距离,然后得到时间,你只需要看到最后一个点和第一个点之间的差异。
这就是gps跟踪应用程序的工作原理。
希望这能有所帮助;)
发布于 2011-03-22 03:06:43
我只做过一次,而且很简单。使用带有LocationListener的服务。在每次使用onLocationChanged()保存当前位置时,最后可以使用Location.distanceBetween()计算这些保存的位置之间的所有距离。
请记住,随着跟踪速度的加快,它会变得更加准确。对于散步来说,你需要的更新比开一辆快车更少。这可以通过LocationManager.requestLocationUpdates()中的minDistance和/或minTime来设置。
发布于 2011-03-22 00:35:53
您可以尝试取起点(IIRC它们的经度和经度),然后取终点,然后计算出两者之间的欧几里德距离(参见http://en.wikipedia.org/wiki/Euclidean_distance )。
我猜你是一个比两个点更好的关系,所以第三次(或更多)读数,计算出A->B,然后加上B->C。
对所需的重新布线重复上述步骤。
来获取旅程的时间。启动一个时钟,并在结束时停止它(同样,如果您愿意,您可以采用间歇点)
https://stackoverflow.com/questions/5379985
复制相似问题