有没有办法使用任何Map API在2条路线之间进行路线比较

时间:2011-12-28 04:47:29

标签: google-maps routes

如果詹姆斯从A点到B点, 查理将从C点前往D点,

点C和D位于A点和B点的路线上(使用谷歌地图,路线以蓝色突出显示)

可以这样做,程序将这两条不同的路线匹配在一起

1 个答案:

答案 0 :(得分:0)

路线中每个步骤的路线API gives you一个start_locationend_location纬度和经度 - 一个简单的解决方案是:

hasStart = false
for all points P in route1:
      if (hasStart == false && P.start == route2.start) hasStart = true; 
      if (hasStart == true && P.end == route2.end) // the routes match

当然如果你想知道route1是否在route2内,你必须做两次。此外,你可能想要容忍P.start == route2.start中的一些错误,这样你也可以选择彼此非常接近的路线(例如下一个街角或其他)。

可能有更好的方法,但我会说这很简单易读,并且可能足够快:):