首页 > 解决方案 > 寻找 3 个或更多地点之间的最短路线(谷歌地图路线)

问题描述

我正在制作关于旅行计划器的应用程序,其中用户最喜欢城市中的几个地方,我想为用户路由那个地方。我需要为每条路线安排路线,以便计算出最短的旅行时间。

谁能建议我如何解决这个问题?

我知道谷歌 API 有一个路由算法,但只发生 1 到 2。目前我正在考虑将 Dijkstra 的算法用于这个路由问题。有什么建议吗?谢谢

标签: androidgoogle-mapsrouting

解决方案


  1. 首先,您需要位置的纬度和经度。如果您的地点没有纬度经度,请使用地理编码器。地理编码器从城市名称返回 latlng。将此 latlng 添加到列表中。

  2. 使用距离矩阵 API 查找您的地点之间的距离/持续时间。将 latlng 列表发送到距离矩阵 api。您将获得连接到 API 的 url。

  3. 解析 JSON 对象并获取持续时间/距离。创建具有持续时间/距离的矩阵。

  4. 将您的矩阵发送到您的算法(Dijikstra 或 prim)


推荐阅读