android - 寻找 3 个或更多地点之间的最短路线(谷歌地图路线)
问题描述
我正在制作关于旅行计划器的应用程序,其中用户最喜欢城市中的几个地方,我想为用户路由那个地方。我需要为每条路线安排路线,以便计算出最短的旅行时间。
谁能建议我如何解决这个问题?
我知道谷歌 API 有一个路由算法,但只发生 1 到 2。目前我正在考虑将 Dijkstra 的算法用于这个路由问题。有什么建议吗?谢谢
解决方案
首先,您需要位置的纬度和经度。如果您的地点没有纬度经度,请使用地理编码器。地理编码器从城市名称返回 latlng。将此 latlng 添加到列表中。
使用距离矩阵 API 查找您的地点之间的距离/持续时间。将 latlng 列表发送到距离矩阵 api。您将获得连接到 API 的 url。
解析 JSON 对象并获取持续时间/距离。创建具有持续时间/距离的矩阵。
将您的矩阵发送到您的算法(Dijikstra 或 prim)
推荐阅读
- django - django-auth-ldap 在切换到 LDAPS 后无法将用户名映射到 DN
- react-native - 是否有一个链接,我可以知道 react native 如何依赖于 android 文件夹而 Android 依赖于现有项目的 sdkmanager?
- c - c 中的 shell 无法按预期工作 - 与管道损坏有关
- php - 我需要在 codeigniter php 中创建类似 woo commerce 的变体
- python - Python cerberus – 字符串的选择
- python - 按 publish_parsed 或 updated_parsed 对大量 rss 提要项目进行排序
- reactjs - 如何为登录屏幕页面编写 Jest 测试
- xml - 是否可以稍后在 XSLT 中声明一个变量并设置值?
- node.js - 在 lambda 函数中使用带有 nodejs 的 https 调用返回数据
- python - python小数给出错误的答案