1

我正在android中开发一个应用程序,它必须在用户之间旅行后接收用户两点之间的距离,并且必须验证输入,因为我正在考虑使用API​​来获取信息并稍后进行验证。我知道要求用户输入这种输入不是操作,但这不是我的责任。

例如,如果根据谷歌地图距离矩阵 API,A 点和 B 点之间的距离为 13 公里,我从 waze api 得到的距离为 18 公里。该应用程序的方法是关于交通的,所以我更喜欢使用 waze 信息,因为它在道路交通方面更准确。

那么,有什么办法可以从位智中获取两点之间的距离?更确切地说,这个: 有效的 HTML

任何帮助,将不胜感激

PD:抱歉英语不好

4

1 回答 1

3

我不确定您是否仍在寻找答案,但理论上您可以像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

注意:确保在使用脚本时正确编码此 URL。否则,这些冒号和逗号可能会导致问题。

要计算路线的长度,您需要遍历所有经过的路段并对length字段求和(如果我没记错的话,以米表示)。

请注意,结果会不时有所不同,因为 Waze 在其结果中包含历史流量数据,并将决定绕道而行,这可能不适合您的用例。

我还强烈建议调查这样做的法律地位,尽管我怀疑如果您不使用这些数据来提供竞争服务或“忘记”提及您正在使用 Waze,这不会是一个大问题数据来计算事物。

于 2017-04-12T13:17:42.960 回答