我正在开发一个Android应用程序,它必须在用户之间行进之后收到用户两点之间的距离,并且必须验证该输入,因为我正在考虑使用API获取信息和稍后进行验证。我知道不是要求用户输入这种输入的操作,但那不是我的。
例如,如果根据谷歌地图距离矩阵API,点A和点B之间的距离是13公里,我从像18公里的waze api那里得到的。该应用程序的方法是关于运输,所以我更喜欢使用waze信息,因为它在道路交通方面更加准确。
那么,有没有办法从waze中获取两点之间的距离? 更准确地说,这一个:
任何帮助将不胜感激
PD:抱歉英语不好答案 0 :(得分:3)
我不确定您是否还在寻找答案,但理论上您可以像调用Waze Live Map一样调用Waze路由服务器。
以下网址是我计算比利时安特卫普和布鲁塞尔之间的路线时发送到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
注意:确保在使用脚本时正确编码此URL。那些冒号和逗号可能会导致问题。
要计算路线的长度,您需要遍历所有遍历的路段并对length
字段求和(以米为单位表示,如果我没有记错的话)。
请注意,结果会不时有所不同,因为Waze在其结果中包含历史流量数据,并决定绕道而行,这可能不适合您的用例。
我还强烈建议调查这样做的法律地位,但我怀疑如果你不使用这些数据来制作竞争服务或“忘记”提及你,这不会是一个大问题。重新使用Waze数据来计算事物。