2013-07-30 44 views
1

我正在开发一个用于流量监控的android应用程序。我收集交通信息并更新数据库。我需要的是当用户输入他的当前位置和目标应用程序提供两个位置之间的交通情况。有没有什么办法来检测更新的交通位置是否在我的两点之间。 由于事先两个位置之间的点

+0

如果他们在一条直线上? – nullpotent

+0

您需要提供更多的上下文和信息才能帮助您。你有没有尝试过这个问题? –

+0

不,他们不在一条直线上。我尝试了其他一些方法来为用户提供交通数据。但我需要知道谷歌地图是否提供了这样的设施。 – user2020938

回答

1

肯定有很多选项来做到这一点 - 我建议如下:

假设:

start is S 
destination is D 
point to check (traffic point) is P 

则计算如下距离(与harvesine公式)

SD 
SP 
DP 

当P位于S和D之间的直线上时,则SD = SP + DP - 但是由于您还想检查不在该理想范围内的点你需要检查一下类似的东西SD + C> SD + DP C是一个常数(或常数函数/ SD的百分比),用于指定一个阈值,指定哪些点计算为S和D之间的值,用于您的应用程序

0

不,我认为这是行不通的:

您需要从开始到目的地的路线作为道路多边形列表。
但是这些数据你不会从谷歌等获得,他们不会给你的载体。
没有这一点,您无法将您的流量数据与街头多边形进行匹配。

这可以适用于OpenStreetmap,因为这些向量是开放数据。

但是这一切都是一项重大任务...

相关问题