2017-02-20 179 views
0

我正在开发一个应用程序在android中必须接受两个点之间的距离之间的旅行之后,他们之间的旅行,输入必须验证,因为我想用一个API来获取信息并在稍后进行验证。我知道,要求用户输入这种输入方式并不适合,但这不是我的想法。例如,如果根据谷歌地图距离矩阵API,A点和B点之间的距离为13公里,那么我会从18公里的wa a中获得。该应用程序的方法是关于交通工具,所以我更愿意使用信息,因为它在道路交通方面更加准确。如何获得距离眩晕两点之间的距离

那么,有什么办法可以避免两点之间的距离? 更确切地说,这一个: valid HTML

任何帮助,将不胜感激

PD:对不起,英语不好

回答

1

我不能肯定是否还在寻找一个答案,但在理论上您可以使用与Waze Live Map相同的方式调用Waze路由服务器。

以下URL是我计算比利时安特卫普和布鲁塞尔之间的路线时发送给Waze路由服务器的请求。

https://www.waze.com/row-RoutingManager/routingRequest?from=x:4.4024643+y:51.2194475&to=x:4.3517103+y:50.8503396&at=0&returnJSON=true&returnGeometries=false&returnInstructions=false&timeout=60000&nPaths=1&clientVersion=4.0.0&options=AVOID_TRAILS:t,ALLOW_UTURNS:t 

注:确保使用脚本时,正确编码这个网址。这些冒号和逗号可能会导致其他问题。

要计算一条路线的长度,您需要遍历所有遍历的路段,并且创建一个length字段的总和(如果我没有弄错,用米表示)。

请注意,结果会随时间而有所不同,因为Waze会在其结果中包含历史流量数据,并且会决定绕行,这可能不是您的使用案例需要的。

我也强烈建议查看这样做的法律状态,但我怀疑如果您不使用这些数据来制作竞争服务或“忘记”提及您,这不会是一个大问题'使用Waze数据来计算事物。

+0

我发现了另一种方法来实现这一点,但我真的很想知道如何做到这一点,在下周(当我有一段时间),我会测试它,如果它的工作,我会给你接受的答案:) 非常感谢! – karique