对于喜欢自驾游的小伙伴们,元旦节假就快要开始啦。大家打算怎么计划自己的旅行呢?

身为一个拖延患者,我通常会拖到出发前的最后一个晚上,花上半小时,在网上搜索当地感兴趣的景点 (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

通过依次计算路程后得出某种排序为最短路线

微信搜索小程序【多点优路导航】,可实现多地点路线规划功能


使用示例

搜索出我们要去的景点,添加到收藏列表中

进入收藏列表,选择要规划的多个地点

点击规划,查看规划结果

现在可选的出行方式包含:步行、骑行、驾车,后续更新公交

对此感兴趣的小伙伴,可以将使用建议留言到评论中,我会继续更新的

百度地图多点路线规划_期待已久的多地点路线规划功相关推荐

  1. 苹果x支持5g吗_期待已久的iphone12系列终于发布,首款支持5G的苹果

    在北京时间10月14日凌晨1点,苹果公司举行了线上新品发布会,正式发布了iPhone12系列手机,期待已久的它终于是如期而至.苹果公司此次也是一次性的发布了四款机型,其中包括5.4英寸的iPhone ...

  2. .net中如何同步获取数据方式增加一样数据自动刷新列表_期待已久的动态数据库工具终于来了!...

    本地数据库的创建和管理是大多数移动应用工程中的核心组件之一,一般会通过直接使用 SQLite 或 Jetpack Room 持久化库来完成.开发者们也在不断地寻求着更好的方式,使其能够在运行中的应用中 ...

  3. 百度地图多点路线规划_自驾游必备,多地点路线规划功能已经出炉了!!!

    对于喜欢自驾游的小伙伴们,元旦节假就快要开始啦.大家打算怎么计划自己的旅行呢? 身为一个拖延患者,我通常会拖到出发前的最后一个晚上,花上半小时,在网上搜索当地感兴趣的景点 (POI), 然后在百度地图 ...

  4. 百度地图 php,php+js实现百度地图多点标注的方法

    本文实例讲述了php+js实现百度地图多点标注的方法.分享给大家供大家参考,具体如下: 1.php创建json数据 $products = $this->product_db->selec ...

  5. 移动端百度地图多点标注php,PHP学习:php+js实现百度地图多点标注的方法

    <PHP学习:php+js实现百度地图多点标注的方法>要点: 本文介绍了PHP学习:php+js实现百度地图多点标注的方法,希望对您有用.如果有疑问,可以联系我们. PHP教程 PHP教程 ...

  6. “期待已久的UFO报告”公布了

    来源:环球网  作者:张晓雅 多家美媒表示,调查没有得出确切结论. 包括美国有线电视新闻网(CNN).美联社.美国哥伦比亚广播公司(CBS)在内多家美媒最新消息,美国政府当地时间25日发布报告,披露对 ...

  7. 期待已久的2012年度最佳 jQuery 插件揭晓

    期待已久的2012年度最佳 jQuery 插件揭晓 让人期待已久的2012年度最佳 jQuery 插件终于发布了.jQuery 自2006年发布以来,经过6年的迅速发展,目前已是最流行和使用最广泛的 ...

  8. cf端游界面更新显示服务器繁忙,【CF】UI界面更新了,那玩家期待已久的经典服务器呢?...

    原标题:[CF]UI界面更新了,那玩家期待已久的经典服务器呢? Hello,大家好,我是你们的灵狐姐,相信小伙伴们都知道新版本更新的所有内容了!目前体验服已经正式上线,相信不久后正服也是马上更新了!本 ...

  9. 期待已久的Java 9 今日发布

    人们期待已久的Java SE 9.0将在2017年9月21日发布,它会带来一些重要的变化. \\ JDK 9的核心变化就是引入了一种新的Java编程组件,也就是模块,按照Oracle的说法,它是一个可 ...

最新文章

  1. mqtt 负载均衡_EMQ百万级MQTT消息服务(分布式集群)
  2. oracle 得到一个树,Related to Oracle SQL 关于树形数据的遍历
  3. SpringCloud个人笔记-01-Eureka初体验
  4. vue中动态设置style样式和使用filters过滤器设置样式
  5. git push的时候报411问题
  6. C#10在List, Queue 以及Stack中使用EnsureCapacity方法来提升性能
  7. 【将图像字符画】【第二玩】图像字符化
  8. 58页PPT揭示图神经网络研究最新进展
  9. Ajax开发框架(上)[整理]
  10. 干货干货:px和毫米之间的转换
  11. Spatial Pyramid的BOW和Pyramid HOG的多核
  12. 亮宁机器人套件_亮宁机器人可视化平台V2.2第3讲(图文)
  13. Android 架构师成长之路
  14. 超精准识别语音字幕工具,Pr可用
  15. Oracle并集union和union all
  16. 概率论复习大纲 | 速成
  17. android_day01
  18. MindMapper使用技巧分享
  19. ubuntu16.04 + caffe + SSD 硬件配置
  20. 基于《PythonCookbook》的学习(2)——在字符串的卡头或结尾做文本匹配

热门文章

  1. MICK-SQL基础教程(第二版) 第六章 函数、谓词、CASE表达式
  2. 10个Hadoop的应用场景
  3. react项目实战 1 项目介绍、项目搭建
  4. 铁路全电子计算机联锁系统论文,全电子模块化计算机联锁系统探讨
  5. 伽罗瓦不是群论的奠基人
  6. Qt之自定义控件(滑动开关按钮)+源码
  7. 腾讯 AI Lab 2018年度回顾
  8. word 排版大师 最新版本 版本发布啦。https://pan.baidu.com/s/1jIIi6xg
  9. RecyclerView拖动及拖动后position错乱问题
  10. Docker:使用dockerfile生成镜像错误:The system cannot find the path specified.