我正在计算LatLng指定的用户之间的路线距离和运输时间(通过拖动标记)和距离矩阵api。 但有时我的距离错误,看起来像是不小心使用收费(或高速公路)。
首先我尝试过:
通过使用ROOF_TOP选项对LatLng进行反向地理编码来舍入原点(和目标)位置,以避免用户在高速公路上指定原点。
我的工作就像一个避免高速公路起源(或目的地)的魅力。
然后我解释了一个问题,即距离矩阵计算的路线太长,看起来像是在使用高速公路。
我已经使用google-map检查估计路线然后google返回使用高速公路的路线。
但是当我检查具有相同来源和目的地的优步应用程序时(我假设他们使用谷歌地图的api !!)他们返回了正常价格。所以我认为有一个解决方案......但我找不到......
我发现移动原点有点可以解决这个问题(看起来像谷歌假设单向交通意外),但我怎么能以编程方式解决呢?
答案 0 :(得分:2)
您可以在请求中避免使用高速公路avoid
参数。此参数支持tolls, highways, ferries and indoors
。
可能会计算出遵守某些限制的指示。通过使用avoid
参数和该参数的参数指示限制,指示要避免的限制。
通过将两个限制传递给avoid参数,可以请求路线避免收费,高速公路和渡轮的任何组合。
例如:
avoid=tolls|highways|ferries
avoid=tolls
avoid=highways
avoid=ferries