Javascript 使用OpenStreetMap数据的最短路径(节点和路径)

Javascript 使用OpenStreetMap数据的最短路径(节点和路径),javascript,leaflet,openstreetmap,shortest-path,overpass-api,Javascript,Leaflet,Openstreetmap,Shortest Path,Overpass Api,我试图创建一个web应用程序,在给定两个点:S(lat,long)和D(lat,long)的情况下,找到它们之间的最短路径 我的问题是:我不知道如何使用*或其他AI算法来找到给定节点和路径的最短路径:“?”然后重建解决方案,在地图中构建路径。我使用Overpass API来获取节点和路径,使用地理点之间的“矩形”方法(我知道这是不好的,因为你可以有一条最短的路径,但不在这个矩形中,但我没有看到更好的解决方案) 谁能给我一些关于如何进行的建议?如果你们愿意,我可以在这里发布我的代码。你们为什么不使

我试图创建一个web应用程序,在给定两个点:S(lat,long)和D(lat,long)的情况下,找到它们之间的最短路径

我的问题是:我不知道如何使用*或其他AI算法来找到给定节点和路径的最短路径:“?”然后重建解决方案,在地图中构建路径。我使用Overpass API来获取节点和路径,使用地理点之间的“矩形”方法(我知道这是不好的,因为你可以有一条最短的路径,但不在这个矩形中,但我没有看到更好的解决方案)


谁能给我一些关于如何进行的建议?如果你们愿意,我可以在这里发布我的代码。

你们为什么不使用其中的一个?你不能在OSM上实现路由算法的问题到底是什么?@scai,我的问题是我应该从头开始实现。这是我大学人工智能课程的一篇论文。我很难以正确的方式获得信息。今天我有一个想法,得到所有在路径交叉点的节点,然后启动A*算法,但我不能这样做,因为给定一个节点,我不知道如何确定它到底是下一个节点,我想。还有一个问题,给定起点和终点,我将采用什么节点?包含起点和终点的边界圆内的所有节点和路径?我太糊涂了。要确定上一个和下一个节点,你必须看方向。请看一看。还要注意的是,已经有很多。很多都是开源的,比如GraphHopper和OSRM。@scai,我理解,但它们没有提到如何获得特定的节点和给定起点和终点的方法。正如我之前所说的,现在我得到了它们之间的矩形边界(以及其中的所有节点和路径),所以如果两个点在同一条线上,我将不会得到任何节点和路径。你有更好的主意吗?你必须处理更多的数据,而不仅仅是包含开始和结束节点的矩形。最短路径不必位于该矩形内。在找到一个好的估计之前,你必须在自己周围玩一玩。