对于喜欢自驾游的小伙伴们,元旦节假就快要开始啦。大家打算怎么计划自己的旅行呢?
身为一个拖延患者,我通常会拖到出发前的最后一个晚上,花上半小时,在网上搜索当地感兴趣的景点 (POI), 然后在百度地图上为它们点上小星星,以免和它们插肩而过。
像这样
每次搜完资料,我的百度地图上都攒满了密密麻麻的小蓝旗。此时此刻,望着这些密集的蓝旗,我的偷懒本能适时发动了,不禁发出灵魂之问:如何才能走最少的路,就周游所有景点呢?
我找遍谷歌和百度,都没发现我要的多地点路径规划功能。最接近需求还是百度地图的"添加途经点" 功能。然而这个功能只是把你点选的地点按最短路径的方式依次连接在一起罢了。可是我们要的不是依次连接,而是最短连接
那怎么办,自己写一个呗。(程序员本人了)
实现方法
解决的问题是如何最短路线连接起来,并且保证起点和终点都是出发点
首先我的思路是根据多个地点之间的坐标通过高德地图进行计算路程(如果步行就是步行路程而不是直线路程),通过穷举法,一次排列可能的路线,然后计算每个路线的总路程和时长,然后取最短路程的路线展示。
例如起点Q,要去地点A、地点B、地点C最后回到起点Q。
通过穷举我们可得出6种结果
- Q→A→B→C→Q
- Q→B→A→C→Q
- Q→C→A→B→Q
- Q→A→C→B→Q
- Q→B→C→A→Q
- Q→C→B→A→Q
通过依次计算路程后得出某种排序为最短路线微信搜索小程序【多点优路导航】,可实现多地点路线规划功能
使用示例搜索出我们要去的景点,添加到收藏列表中
进入收藏列表,选择要规划的多个地点
点击规划,查看规划结果
现在可选的出行方式包含:步行、骑行、驾车,后续更新公交
对此感兴趣的小伙伴,可以将使用建议留言到评论中,我会继续更新的
认为对您有帮助的,请赞一下吧,是对我最大的支持,谢谢!