Google 地图方向 API returns waypoints 没有任何意义,在水上行走等

Google Maps Directions API returns waypoints that don't make any sense, walk on water etc

我需要在我的应用程序中实现一种导航功能。我开始研究 Google 地图方向 API,我希望在其中输入起点和终点,然后获得经优化的经纬度列表以用作折线。然而,我得到的线是完全混乱的,曲折的,没有卡在人行道上,甚至在水上和建筑物上。

这是一个示例请求端点: https://maps.googleapis.com/maps/api/directions/json?origin=1017WT Oosteinde 11 Amsterdam&destination=Heineken Experience Amsterdam&key=AIzaSyAcojgYg79ssEaV_c1-7pRQpIKESob5Iz4

并且在响应中,有 "overview_polyline" 包含编码折线的对象:

{
    overview_polyline: {
        points: "ylq~Hah|\jDeAVKNt@VdBp@`Gl@jFDn@BhBOvD[rNIdHQjF"
    }
}

我使用该网站对该折线进行了解码: https://developers.google.com/maps/documentation/utilities/polylineutility

结果如下所示:

这没有任何意义。我尝试的任何 origin/destination 都会发生这种情况。知道这是有意为之的行为(很难相信)、错误还是有解决方案?理想情况下,这些点将位于实际道路或人行道上(取决于出行模式),而不是位于不可访问的路径中。

https://developers.google.com/maps/documentation/utilities/polylinealgorithm:

"Note that the backslash is interpreted as an escape character within string literals. Any output of this utility should convert backslash characters to double-backslashes within string literals"

所以你只需要把\\换成\.

例如,

ylq~Hah|\jDeAVKNt@VdBp@`Gl@jFDn@BhBOvD[rNIdHQjF

应该是

ylq~Hah|\jDeAVKNt@VdBp@`Gl@jFDn@BhBOvD[rNIdHQjF