java - 谷歌地图上的自定义路线

标签 java google-maps gis a-star

我有一个未定义路线的 Google map 区域。这是我大学的校园。我想要另外两座建筑物和一些折线来定义道路,因为 map 上没有显示道路。然后我将应用 A* 算法来找到一条折线到另一条折线之间的最短路线。该 map 将可用于移动设备的 Android 应用程序。在其基本状态下,应用程序会更新用户的位置。例如,用户可以请求去工程学院。现在我怎么知道他在哪里,我的意思是路线的来源是什么,最近的折线?这是做事的方式吗?谢谢。

最佳答案

  1. 使用 OpenStreetMap数据;您可以作为贡献者加入 OSM,并向 map 添加建筑物、道路和其他内容。 OpenStreetMap 是一种维基百科,但包含 map ,而不是百科全书文章。

  2. 下载并处理您校园的 OpenStreetMap 数据:获取所有可用作路线的折线;整理他们的观点;识别多于一条折线的公共(public)点——它们是节点;创建连接这些节点的弧的有向图。

  3. 使用有向图实现 A* 算法。 A* 绝对是最好用的算法;快速、正确且有据可查。

  4. 使用 GPS 设备(您的代码正在其上运行)找出您的用户所在的位置。 GPS 以纬度/经度给出位置; OpenStreetMap 数据也有纬度/经度;这样应该可以正常工作。

这自然会涉及一些研究和努力工作。我保证它会做你想做的,因为我自己做了这个(商业上 - 我不会链接到我的产品,因为我已经为此受到指责;但我自然声称做一些商业上的事情会强加一定的纪律) .有很多开源软件可以帮助解决这些问题。特别是 A* 算法在维基百科上有很好的解释。

关于java - 谷歌地图上的自定义路线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8277958/

相关文章:

javascript - 如何在 Vaadin 7 中使用 javascript 组件内的图像

javascript - 谷歌地图 react

java - 从静态类型到动态类型

Java 没有找到合适的 addListener 方法

Java-递归: When does statements after a recursive method call executes

java - 阿拉伯语的 Android Google map 标记标题显示空白

java - 如何解决Java中的r=g编译问题?

javascript - 如何在Openlayers 3中显示ESRI矢量 basemap

r - 使用 gbuffer 缓冲 R 中的(地理)空间点

string - 解析具有不明确数据的地址