google 地图中两条路线之间的共同距离
Common distance between two routes in google maps
我有一个关于 Google 地图 API 的问题。
假设我们有两个旅行者traveller1 和traveller2。旅行者 1 想从 A 到 B,旅行者 2 从 C 到 D。
Route1: A --> a --> b --> c --> d --> B
Route2: C --> e --> b --> c --> d --> f --> D
有没有办法找出上述路线Route1和Route2之间的共同距离?实际上我的意思是子路线的距离,
b--> c --> d
是否可以通过Google地图API找到这样的距离?我尝试查看各种 Google API,例如方向 API、距离矩阵 API、道路 API 等。但找不到任何内容。
我有什么办法可以做到这一点?
提前致谢。
这里没有 API。但是您可以自己制作一些简单的算法。
也许从节点创建一个连接数组,格式如 Route1 = [[a,b],[b,c],[c,d]]
,等等 Route2
。然后你可以遍历两者,找到共同点:
var common = [];
for(var i=0; i<Route1.length; i++){
for(var j=0; j<Route2.length; j++){
if(Route1[i] == Route2[j]){
common.push(Route1[i]);
}
}
}
这里的例子returns只是节点之间的边。但是如果你想找到更大的路线块,你可以自己扩展它(而不是 [[b,c],[c,d]]
,你可以找到一种方法来加入它们并使 [b,c,d]
)
正如 kaho 所说,Google 方向 API returns 步骤。这些可以通过使用 routes[0].legs[0].steps[i].end_location, .start_location 并将它们解析为这些连接来格式化为您需要的内容。
我最近有一个,关于相似度等等。
您可以先使用 Google 地图路线 API 获取从 A 到 B 和从 C 到 D 的步数。应该是 response.routes[0].legs[0].steps
。
然后你可以比较2条路径来检查哪个是"common distance"。
我创建了一个快速演示:http://jsfiddle.net/sb6sdj3r/1/
我有一个关于 Google 地图 API 的问题。
假设我们有两个旅行者traveller1 和traveller2。旅行者 1 想从 A 到 B,旅行者 2 从 C 到 D。
Route1: A --> a --> b --> c --> d --> B
Route2: C --> e --> b --> c --> d --> f --> D
有没有办法找出上述路线Route1和Route2之间的共同距离?实际上我的意思是子路线的距离,
b--> c --> d
是否可以通过Google地图API找到这样的距离?我尝试查看各种 Google API,例如方向 API、距离矩阵 API、道路 API 等。但找不到任何内容。
我有什么办法可以做到这一点?
提前致谢。
这里没有 API。但是您可以自己制作一些简单的算法。
也许从节点创建一个连接数组,格式如 Route1 = [[a,b],[b,c],[c,d]]
,等等 Route2
。然后你可以遍历两者,找到共同点:
var common = [];
for(var i=0; i<Route1.length; i++){
for(var j=0; j<Route2.length; j++){
if(Route1[i] == Route2[j]){
common.push(Route1[i]);
}
}
}
这里的例子returns只是节点之间的边。但是如果你想找到更大的路线块,你可以自己扩展它(而不是 [[b,c],[c,d]]
,你可以找到一种方法来加入它们并使 [b,c,d]
)
正如 kaho 所说,Google 方向 API returns 步骤。这些可以通过使用 routes[0].legs[0].steps[i].end_location, .start_location 并将它们解析为这些连接来格式化为您需要的内容。
我最近有一个
您可以先使用 Google 地图路线 API 获取从 A 到 B 和从 C 到 D 的步数。应该是 response.routes[0].legs[0].steps
。
然后你可以比较2条路径来检查哪个是"common distance"。
我创建了一个快速演示:http://jsfiddle.net/sb6sdj3r/1/