我一直在为我的城市开发一个关于公共交通的网页原型。这是典型的页面,您可以在其中输入出发地和目的地地址,该页面显示您应该乘坐哪些公交线路穿过德市。
我遇到了一个大问题:从 A 点到 B 点有一条同向行驶的公交线路(用折线表示)。我找到了计算点和折线之间最短距离的最佳公交线路。这里一切都很好,但是当我想从 B 点到 A 点(之前的相同点)时,那个方向没有公交线路,但是页面会一直提示之前的公交线路。
简而言之,公共汽车在这些点之间仅以一种方式行驶,但绘制的多段线没有方向,因此它在两种情况下都有效(A 到 B 和 B 到 A)。
有没有办法考虑折线的方向 AB?
我一直在考虑将其作为节点之间的最短路径问题来处理,在公交线路不应该去的方向上成本很高。但我也认为,这有点过分了。你怎么看?
提前致谢
更新:
一个想法是使用折线的路径索引,并且仅当路径索引在这些点之间增长时才考虑起点和目的地之间的路线(折线)。
我使用v3_BdccGeo.js来获取点和折线之间的最小距离,但是这个函数不返回最近的点,只返回距离。如果我能找到最近的点,它也可能不属于路径索引,而是属于折线段(在这种情况下,我无法获得折线路径中点的索引)。
如果有什么需要澄清的,就直说吧。提前致谢
更新 2:
解决了!最后,我制作了检查折线的索引,v3_BdccGeo.js 确实返回了我需要的索引。