Google 地图捕捉到道路未返回所有值

Google Maps snap to roads not returning all values

我正在传递 google 地图 "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

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

路径参数描述了一条连续的路径,因此您通过的点的顺序很重要。正如 official documentation 所述,returns most likely path taken by a vehicle 道路的快速移动,因此如果他们例如沿着一条路来回曲折。

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

现在看一下点2被丢弃的例子,因为它似乎不遵循从1到3的方向,你必须来回走动。

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

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

几个点掉落如下图(橙色点)

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