高德地图JS--批量规划步行路线 优化

JSAPI 高德地图应用--线路规划、多条线路同时展示 在地图应用中,常见的应用之一应该就有查询两个地方的线路规划吧,高德地图提供了驾车路线规划、货车路线规划、公车换乘服务、步行导航服务、骑行路径规划服务等,这里我用的是驾车路线规划做一个列子。 驾车路线规划使用的插件是AMap.Driving,需要在AMap.plugin中进行初始化,方法不在赘述,可以看这个官方列子:https://lbs.amap.com/api/javascript-api/guide/services/navigation。 初始化完成后,首先需要两个... 阅读详情

调取高德地图JS API 进行步行路线规划

多个起点到达一个重点,根据搜素结果画路线,进行绘图,并为线路添加点击事件

效果如下:

代码如下:

<!doctype html>
<html>
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no, width=device-width">
    <style>
        html,
        body,
        #container {
            width: 100%;
            height: 100%;
        }
    </style>
    <title>根据规划数据绘制步行路线</title>
    <link rel="stylesheet" href="https://a.amap.com/jsapi_demos/static/demo-center/css/demo-center.css"/>
    <script src="https://webapi.amap.com/maps?v=1.4.10&key=d799a2887868628bf7782fcd6b2c0ed1&plugin=AMap.PolyEditor"></script>
    <script src="https://webapi.amap.com/maps?v=1.4.10&key=d799a2887868628bf7782fcd6b2c0ed1&plugin=AMap.Walking"></script>
    <script src="https://a.amap.com/jsapi_demos/static/demo-center/js/demoutils.js"></script>
</head>
<body>
<div id="container"></div>
<script type="text/javascript">
  var map = new AMap.Map('container', {
    center: [116.397559, 39.89621],
    zoom: 14
  })

  // 当前示例的目标是展示如何根据规划结果绘制路线,因此walkOption为空对象
  var walkingOption = {}

  let dataArr = [
    [15, '汽车服务', 116.807599, 39.6462117, 1.459, 6.3265],
    [22, '汽车服务', 117.6136484, 39.7657742, 9.738, 7.5687],
    [30, '汽车服务', 117.2940413, 39.7878749, 7.7227, 6.5476],
    [37, '汽车服务', 116.0684453, 38.174566, 4.5352, 8.5357],
    [42, '汽车服务', 117.3493731, 38.6404797, 1.1438, 4.3265],
    [43, '汽车服务', 116.8465287, 38.363796, 8.7718, 4.4577]]
  let targetPoint = [116.944964, 39.457521]

  // 搜素路线的函数
  function searchRouter (startPointArr, endPoint) {
    for (let i = 0; i < startPointArr.length; i++) {
      let item = startPointArr[i]
      let startPoint = [item[2], item[3]]

      // 步行导航
      var walking = new AMap.Walking(walkingOption)

      //根据起终点坐标规划步行路线
      walking.search(startPoint, endPoint, function (status, result) {
        // result即是对应的步行路线数据信息,相关数据结构文档请参考  https://lbs.amap.com/api/javascript-api/reference/route-search#m_WalkingResult
        if (status === 'complete') {
          if (result.routes && result.routes.length) {
            drawRoute(result.routes[0], item)
            log.success('绘制步行路线完成')
          }
        } else {
          log.error('步行路线数据查询失败' + result)
        }
      })
    }
  }
  // 描绘路线的函数
  function drawRoute (route, item) {
    var path = parseRouteToPath(route)
    var startMarker = new AMap.Marker({
      position: path[0],
      icon: 'https://webapi.amap.com/theme/v1.3/markers/n/start.png',
      map: map
    })
    var endMarker = new AMap.Marker({
      position: path[path.length - 1],
      icon: 'https://webapi.amap.com/theme/v1.3/markers/n/end.png',
      map: map
    })
    var routeLine = new AMap.Polyline({
      path: path,
      isOutline: true,
      outlineColor: '#ffeeee',
      borderWeight: 2,
      strokeWeight: 5,
      cursor: 'pointer',
      strokeColor: '#0091ff',
      lineJoin: 'round',
      extData: item
    })
    routeLine.on('click', function (obj) {
      console.log(obj.target.getExtData())
      alert('您点击了线为' + obj.target.getExtData().toString())
    })
    routeLine.setMap(map)
    // 调整视野达到最佳显示区域
    map.setFitView([startMarker, endMarker, routeLine])
  }

  // 解析WalkRoute对象,构造成AMap.Polyline的path参数需要的格式
  // WalkRoute对象的结构文档 https://lbs.amap.com/api/javascript-api/reference/route-search#m_WalkRoute
  function parseRouteToPath (route) {
    var path = []

    for (var i = 0, l = route.steps.length; i < l; i++) {
      var step = route.steps[i]

      path.push([step.start_location.lng, step.start_location.lat])
      path.push([step.end_location.lng, step.end_location.lat])
    }

    return path
  }

  searchRouter(dataArr, targetPoint)
</script>
</body>
</html>

有任何高德JS API 调用问题都可以在下方评论咨询我。博主做过很多O2O示例

 

谢谢阅读.如果觉得对你有帮助请记得点赞或收藏.欢迎留言讨论.你的支持是我出产优秀博客的动力.

高德地图JavascriptAPI:驾车路径规划 API在高德地图提供的API中有详细的demo,需要注意几点问题 线路规划的几种方法 时间最短:LEAST_TIME, 费用最少:LEAST_FEE, 距离虽短:LEAST_DISTANCE, 规避拥堵:REAL_TRAFFIC 使用经纬度查询距离时,一个点的经纬度之间要有空格 阅读详情

相关推荐

高德地图API实战:基于起止点与途经点的智能路线经纬度采集方案

本文详细介绍了如何利用高德地图API构建一个智能路线经纬度采集工具。该方案基于高德地图JavaScript API,特别是AMap.DragRoute插件,实现了通过输入起点、终点和途经点,自动规划最优行车路线并批量提取高精度路径坐标的功能。文章提供了完整的代码实现、核心思路解析及性能优化技巧,旨在帮助开发者快速获取结构化的路线经纬度数据,适用于物流分析、轨迹生成等多种业务场景。

weixin_29014237的博客 564

如何使用高德地图 API 做一个路线规划应用,展示自定义路线

如何使用高德地图 API 做一个路线规划应用,展示自定义路线 喜欢骑车转,知道一些比较好的路线,想要分享给别人的时候不知道该怎么分享,有自定义路线的功能就好了。前不久高德推出了手机端的自定义路线功能。 其实 web API 可以实现很具体的路线规则,使用 Amap.DragRoute 类 看例子: 路线推荐: 金刚纂路 https://kylebing.cn/tools/map/#/route/1 官方 DragRoute 的说明 关于路线规则的说明,官方如下,我们主要使用其中的 途经点 功能 ht

学习笔记 3万+

基于高德地图JSAPI构建智能路线规划应用:从基础集成到交互优化

本文详细介绍了如何基于高德地图JSAPI在Web端构建智能路线规划应用。从项目初始化、安全密钥配置,到核心的驾车路线规划功能实现,再到交互面板设计与性能优化,提供了完整的开发指南。文章重点讲解了如何利用AMap.Driving插件进行路线规划,并整合实时交通、途经点设置等高级功能,帮助开发者打造用户体验良好的地图应用。

weixin_29007243的博客 622

百度地图路线规划(途经点)

效果图 这里为了方便 我直接使用的是坐标 在实际项目中可以将地址转成坐标 代码如下 <template> <div style="width: 100%;height: 700px;"> <!--始和结束地址--> <div id="r-result"> <div> 请输入出行方式: <el-radio-group v-model="travelMode">

用生命研发技术 3673

使用高德地图(web端 JSAPI) 实现路线规划

这里我只是简单的实现了一下路线规划(驾车路线),实际上在路线规划上可以添加很多好玩的东西如果你想添加一些细节参考高德地图官方文档:除此之外可以欣赏一下另一个博主的路线规划成果:以下是我做的路线规划图(地点是浙江省衢州市开化县长虹乡)

m0_62923286的博客 1170

基于高德地图JSAPI构建交互式旅游路线规划应用

本文详细介绍了如何利用高德地图JSAPI开发交互式旅游路线规划应用。从申请密钥、初始化地图、添加标记点到实现核心的驾车路线规划功能,提供了完整的代码示例和避坑指南。文章重点讲解了如何通过高德地图的Driving服务进行智能路线规划,并整合热词‘路线规划’以优化用户体验,帮助开发者快速构建功能丰富的地图应用。

weixin_29006701的博客 301

基于高德地图JSAPI的驾车路线规划实战:从基础集成到策略优化

本文详细介绍了如何在Web应用中集成高德地图JSAPI并实现驾车路线规划功能。从基础的地图加载、安全密钥配置,到核心的路线规划插件AMap.Driving的调用与参数解析,再到根据不同业务场景(如最短时间、最短距离、避免收费)选择优化策略,并进阶探讨了多途经点规划与实时路况显示。文章还提供了性能优化与常见错误排查的实用建议,帮助开发者构建稳健、高效的Web端地图应用。

perl8的博客 789

高德地图JS API点线绘制实战:从批量标记到路径规划

地图可视化是Web开发中展示空间数据与位置关系的核心技术,其核心原理在于将地理坐标通过特定API渲染为浏览器中的图形覆盖物。在技术实现上,开发者需要掌握点标记(Marker)的创建与管理、折线(Polyline)的绘制与样式控制,以及如何高效处理海量数据。这些技术的核心价值在于能将抽象的坐标数据转化为直观的图形界面,极大提升物流配送、轨迹追踪、门店分布等场景下的信息传达效率。高德地图JS API因其完善的本地化服务、丰富的中文文档和友好的免费额度,成为实现上述功能的常用选择。本文以物流路线可视化项目为例,深

weixin_31115195的博客 227

高德地图小程序步行路线显示_微信小程序之:小程序接入高德地图SDK

前言最近在捣腾小程序,想开发一个自己的小程序,过一把独立开发的瘾。自己设计,自己搞数据,自己找图标,自己决定要或者不要什么功能,完全跟着心走,目前体验下来,感觉还是蛮爽的。比在公司产品要你做什么你就得做什么舒服多了,巴适的很(假装自己是四川人),哈哈虽然我是一个App开发,但我还是蛮注重用户体验的,我会去考虑应用的使用场景,使用习惯,不断的去调整,去优化。这次开发的小程序,从配色、图标选择、UI设...

weixin_39781143的博客 764

uniapp H5端使用高德地图完成路线规划

首先到高德地图API,申请web端key 参考高德H5端教程开始写代码高德地图JS API 1、准备工作,会提示你先引入下边这块代码 <script type="text/javascript" src="https://webapi.amap.com/maps?v=1.4.15&key=您申请的key值"></script> 我的项目是uniapp项目,在自定义的html引入会报错,个人感觉可能是加载顺序的问题,最后修改成 import maps from '.

sunluyi的博客 1万+

JavaScript高德地图驾车路线绘制技巧与特效

简介:JavaScript结合高德地图API能够实现复杂的地图功能,本文将展示如何绘制驾车路线以及添加特效,并涵盖从路线规划到获取沿途坐标的关键步骤。涵盖了地图初始化、添加驾车路线、绘制路线特效、交互式功能、性能优化、错误处理、兼容性与响应式设计等关键知识点。此项目不仅提升开发者对高德地图API的理解,还增强了在Web开发中处理地图应用的能力。

weixin_32535825的博客 1134

高德地图的汽车路线规划的路线颜色样式更改

高德用的汽车路线规划,动画回放的功能,路线颜色改不了,粗细也改不了,所以会很丑。甲方爸爸很生气,后果很严重!!! 先来欣赏一下改之前的长什么样 然后改之后看看: 是不是好看很多!!! 只贴部分代码片段哈,主要用react, 下面的代码我是写在componentDidUpdate里面的,用的高德JS API哈~ const { Map, Marker, Size, Pix...

wangweiscsdn的博客 9868

基于JS的高德地图驾车路线规划与绘制实战代码

经过这一趟完整的旅程,你应该已经具备了以下能力:✅ 独立完成高德地图接入与调试✅ 理解的异步加载机制✅ 灵活运用多种路径策略满足不同需求✅ 处理多达16个途经点的复杂路径✅ 构建健壮的错误提示与降级机制✅ 实现 Polyline 绘制、动画、交互等视觉效果✅ 封装模块化类,便于团队协作与维护更重要的是——你不再只是“会抄代码”,而是真正理解了整个系统的运行逻辑。未来无论你是做物流系统、共享出行、智慧园区还是自驾游助手,这套知识都能直接复用。

weixin_35761094的博客 991

基于高德地图骑行规划,进行路线点编辑,插入,拖拽,新增

自定义

qq_39468237的博客 1763

小程序内高德地图API路线绘制教程

高德地图API(Application Programming Interface)是高德软件公司提供的用于地图服务开发的一组接口。它允许开发者在自己的应用中嵌入地图视图、实现地图功能、以及获取地点信息等。API的组成主要包括以下几个部分:地图展示API:负责在应用中渲染地图图像,并支持缩放、拖动等交互操作。定位服务API:允许获取用户当前位置,以及提供定位相关的服务。路径规划API:用于实现路径规划,支持多种交通模式(如驾车、步行、公交等)。地点搜索API。

weixin_35752122的博客 1972

huggingface 镜像站推荐

在做 Ai 应用开发或者学习的时候,我们经常需要下载各种模型,而 huggingface 的模型下载速度很慢或者根本就连不上,这里推荐一个 huggingface 的镜像站,速度很快,可以大大提高我们的效率。

t951984189的博客 1万+

Vue3+vite对接高德地图实现公交路线规划

这里记录下自己在Vue3+vite的项目中增加对接高德地图通过输入起始站和终点站来实现公交路线规划,不使用ts语法,方便以后直接使用。这里承接自己的博客[Vue3+vite优化基础架构(2)--- 全局接口请求loading加载](https://blog.youkuaiyun.com/weixin_48040732/article/details/138219496)这篇博客,在该博客项目的基础上增加对接高德地图通过输入起始站和终点站来实现公交路线规划。

weixin_48040732的博客 1201

RT-Thread网络编程:基于STM32F407的TCP客户端实现(含完整代码解析)

本文详细介绍了在STM32F407平台上,基于RT-Thread操作系统和LWIP协议栈实现工业级可靠TCP客户端的完整过程。内容涵盖底层ETH驱动配置、Socket编程、连接保活与断线重连机制、数据收发协议设计以及资源管理,提供了可应用于实际项目的健壮代码框架与调试技巧。

weixin_29184371的博客 494

高德地图路径规划功能

在基于 Vue 和高德地图开发地理信息系统时,除了基础的地图展示和标点功能,路径规划是一个常见的扩展需求。本文将结合实际项目场景,分享如何在现有组件中快速集成高德地图的驾车路线规划功能。

qq_70172010的博客 3021

Istio ICA考试之路---2-2

找到dr部分,这部分可以在mirroring里找也可以和题2-1一样在Traffic Management的dr里复制,内容都一样。此题之后都是在cluster-2上操作,所以就不需要再切换了.之后的几题2.1节就忽略掉了。可以看到,80%的流量被镜像到了dev上,实际考试这步可以忽略。看到ex-ip是192.168.126.220。获取gw,把gateways加入到vs配置中。获取istio-ingress的ex-ip。就获得了这样一个模板文件。查看2个pod的日志。

Q先生 854

超越防抖:索尼CXD5254GG芯片如何重新定义电子影像稳定

索尼CXD5254GG芯片通过融合6轴IMU与图像传感器数据,重新定义了电子影像稳定技术。其核心突破在于实时地平线校正、抑制果冻效应和镜头畸变校正,并搭载智能画质控制器提升画面细节。该芯片适用于广播制作、体育娱乐、安防监控和机器人视觉导航等专业领域,提供开箱即用的优化参数配置,大幅缩短开发周期。CXD5254GG不仅实现稳定成像,更通过姿态感知与智能优化,为专业影像应用提供了完整的稳定解决方案。

致力于lidar应用开发 116

高德地图 JS API v2 自定义路线实战:DragRoute 插件实现 16 途经点拖拽规划

本文详细介绍了如何利用高德地图JS API v2的DragRoute插件实现16个途经点的拖拽路线规划功能。从基础配置到高级应用,包括地图初始化、插件引入、事件处理、Vue/React组件封装等实战内容,帮助开发者快速构建交互式地图路线规划模块,提升物流配送、旅游规划等场景的用户体验。

agcozdwdfvds08078的博客 442

直击高频编程考点:字符串知识及经典算法题总结

字符串相关基本练习题总结(最长公共子串、最长回文子串、最长无重复字符子串、最小覆盖子串、字符串相乘、中文数字表达转实际数字格式等)

曾经“等你生日那天”都遥远得像未来,如今却可欢愉的挥手说“下个十年见” 172万+
上一篇: 环信WebIM 发送图片消息和显示图片 发送文件和显示文件 发送表情和显示表情
下一篇: 使用Echart搭配百度地图创建某一地区热点图的注意点
拿我格子衫来
拿我格子衫来 领域专家: 前端开发技术领域 领域专家: 前端开发技术领域
博客等级 码龄10年 6万+粉丝 858原创
评论 8
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

拿我格子衫来

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值