首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用google地图计算实时行驶距离

使用google地图计算实时行驶距离
EN

Stack Overflow用户
提问于 2011-03-21 23:40:09
回答 3查看 6.9K关注 0票数 6

需要使用谷歌地图找到实时行驶的距离。这应该由手机应用程序本身来计算。我指的是实时,例如,如果用户正在行进到点A,用户可以通过许多方式到达点,我想要做的是计算用户实时行进的总距离,而不仅仅是假设和计算两点之间的距离(这不会给出正确的答案)。

我在谷歌上到处搜索这个问题,但找不到任何方法。

我个人考虑将手机上的经度和纬度存储在一个列表中,在用户到达目的地后,使用这些点来计算距离。然而,这意味着我必须决定存储这些点的间隔(每隔1分钟左右),这意味着我将在列表中放置位置点,即使用户实际上仍然在同一条道路上,这是非常不必要的。除非有人知道如何在适当的时间存储点或其他解决方案

我或多或少被这个问题难住了,任何帮助都是非常感谢的。

移动平台为Android

谢谢,MilindaD

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-03-22 00:38:11

我认为最好的解决方案是每X秒保存一次位置,然后计算它们之间迭代的总距离,然后得到时间,你只需要看到最后一个点和第一个点之间的差异。

这就是gps跟踪应用程序的工作原理。

希望这能有所帮助;)

票数 2
EN

Stack Overflow用户

发布于 2011-03-22 03:06:43

我只做过一次,而且很简单。使用带有LocationListener的服务。在每次使用onLocationChanged()保存当前位置时,最后可以使用Location.distanceBetween()计算这些保存的位置之间的所有距离。

请记住,随着跟踪速度的加快,它会变得更加准确。对于散步来说,你需要的更新比开一辆快车更少。这可以通过LocationManager.requestLocationUpdates()中的minDistance和/或minTime来设置。

票数 1
EN

Stack Overflow用户

发布于 2011-03-22 00:35:53

您可以尝试取起点(IIRC它们的经度和经度),然后取终点,然后计算出两者之间的欧几里德距离(参见http://en.wikipedia.org/wiki/Euclidean_distance )。

我猜你是一个比两个点更好的关系,所以第三次(或更多)读数,计算出A->B,然后加上B->C。

对所需的重新布线重复上述步骤。

来获取旅程的时间。启动一个时钟,并在结束时停止它(同样,如果您愿意,您可以采用间歇点)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5379985

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档