2016-04-28 37 views
1

我正在計算用LatLng(通過拖動標記)指定的用戶與距離矩陣api之間的路線距離和運輸時間。 但是有時候我弄錯了一段距離,看起來好像是不小心使用了收費(或高速公路)。如何避免與距離矩陣使用高速公路?

首先,我曾嘗試:

四捨五入原點(和目的地)通過反向地理編碼與ROOF_TOP選項,以避免在公路上用戶指定的原點位置的LatLng。

我的工作就像是一種魅力,以避免高速公路的起源(或目的地)。

但是後來我加入了一個距離矩陣計算太長的路線,看起來像使用高速公路的問題。

我檢查了谷歌地圖的估計路線,然後谷歌返回使用高速公路的路線。

但是,當我檢查具有相同出處和目的地的優步應用(我假設他們使用谷歌地圖的API!)時,他們返回正常價格。所以我認爲有一個解決方案...但我找不到...

我發現移動起源有點可以解決這個問題(它似乎像谷歌假設單向交通意外),但我怎麼能以編程方式解決它?

回答

2

您可以避免請求中的高速公路avoid參數。該參數支持tolls, highways, ferries and indoors

可能會計算出符合某些限制的指示。通過使用avoid參數和該參數的參數來指示限制以指示限制以避免限制。 可以通過將兩個限制都通過避免參數來請求路線,以避免收費,高速公路和渡輪的任何組合。

例如:

avoid=tolls|highways|ferries 

avoid=tolls 

avoid=highways 

avoid=ferries 
+0

根據API文檔中,只有一個限制可以被指定。 https://developers.google.com/maps/documentation/distance-matrix/intro – JerryM