2017-02-20 177 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