在Google地图中步行距离

时间:2013-11-29 13:42:19

标签: javascript google-maps

我正在尝试使用应用进行一些实验。我希望如此,根据我的位置并给出一定距离,我在谷歌地图中得到一个我可以走这一距离的点。

这有一些复杂因素,因为从你那里得到一个X英里的点是“容易的”,但你实际上不可能走多少里程,除非你真的可以直线行驶。

我遵循的方法是使用google.maps.places.PlacesService,函数nearbySearch使用radius。然后我处理到每个返回点的距离,幸运的是我得到一点我可以走很远的距离。

然而,我一直在尝试一些边缘情况,比如选择沙漠附近的道路然后它将无法工作因为“地方”是兴趣点,这可能只是一条平坦的道路,除了无聊之外别无其他长长的灌木丛。

在我看来,它应该沿着那条道路走一段距离,然后停下来。

要明确:

我想从我的starting点知道,如果我走1公里,这将是我的ending

你对这种情况有什么更好的方法吗?

1 个答案:

答案 0 :(得分:2)

origin将根据destinationTravelMode计算旅行者将采取的路线。它接受google.maps.DirectionsService class。 DirectionsRequest有一个名为DirectionsService的选项,它将接受来自google.maps.DirectionsRequest object的四个常量中的任何一个(BICYCLING,DRIVING,TRANSIT, WALKING )。

要从您的位置找到一个点,比如 3公里,我会:

  1. 使用您当前的位置以及距离您大约<3公里的点,从overview_path请求步​​行路线。
  2. 对{{1}}进行迭代,不断将当前细分的长度添加到您的总计中。
  3. 当你超过 3公里时,将最后一段切成长度,创建一个长度非常接近 3公里的长度。
  4. 我让你google.maps.TravelMode class证明了如何做到这一点。