Google地图会捕捉到不返回所有值的道路

时间:2018-02-09 21:38:35

标签: google-maps google-maps-api-3 google-roads-api

我正在通过谷歌地图“Snap to Road”api列出99分。我只拿回85分,这意味着我有一些不会被抢断的分数。有没有办法取回所有积分?

Observable.fromPromise(googleMapsClient.snapToRoads({
        path: bucket,
        interpolate: interpolate
      }).asPromise()).map(routeLocations => {
        console.log(routeLocations)
}

API的响应:

routeLocations.query.path.split('|').length
> 99
routeLocations.json.snappedPoints.length
> 85

1 个答案:

答案 0 :(得分:4)

可以从捕捉点阵列中删除某些点。通常,当原始路径阵列中的点沿着道路来回摆动时,会发生这种情况。不幸的是,我在这个问题中看不到你的路径数组,所以让我用我的例子来解释这个。

path参数描述了连续路径,因此您传递的点的顺序很重要。在official documentation状态下,对齐回程会返回most likely path taken by a vehicle,因此如果它们例如点数将会被删除沿着道路来回曲折。

以下屏幕截图显示了可以捕捉所有三个点的良好路径示例。

enter image description here

现在看一下第2点被删除的例子,因为它似乎没有跟随1到3的方向,你必须前进和后退。

enter image description here

最后,让我们考虑一个更复杂的例子:

52.14475625,20.79042166|52.14475625,20.79036802|52.14471345,20.79042435|52.14479246,20.79031706|52.14466408,20.79047531|52.14460647,20.79051822|52.1448369,20.79028487|52.14455544,20.79060137

删除了几个点,如下面的屏幕截图所示(橙色点)

enter image description here

我希望我的回答能解决你的疑惑!