高德地图系列(四):vue项目利用高德地图实现车辆的路线规划

目录

第一章 效果图

第二章 源代码 

第一章 效果图

  • 小编该案例主要实现的两个点的思路:1、有两个正常的经纬度就可以在地图中绘制出汽车从起点到终点的路线规划;2、当用户经纬度发生变化时,用户可以通过某个操作,或者程序员通过某种方式,再次调用接口,从而实现线路的变化
  •  小编转换成两个情景:1、首次进入地图渲染汽车的规划路径;2、通过点击事件表示经纬度发生变化,需要重新规划路线

第二章 源代码 

  •  代码描述如下:(注意,以下代码只是小编的基本代码,细节优化暂时需要大家自己思考,并且小编在之后的文章中也会反应出来!!)
<template><div><a-button @click="refreshDriving">刷新路径</a-button><br><div><div id="container" ref="amap"></div><div id="panel"></div></div></div>
</template><script>
import AMapLoader from '@amap/amap-jsapi-loader'
export default {data () {return {map: null,lnglat: [], // [long,lat]driving: null,mapModule: null // AMap}},mounted () {window._AMapSecurityConfig = {securityJsCode: '申请key对应的秘钥' // 申请key对应的秘钥}this.initAMap()},destroyed () {this.map.destroy()},methods: {initAMap () {const _this = thisAMapLoader.load({key: '申请的key', // 申请好的Web端开发者Key,首次调用 load 时必填version: '2.0', // 指定要加载的 JSAPI 的版本,缺省时默认为 1.4.15plugins: []}).then((AMap) => {_this.mapModule = AMapconst map = new AMap.Map('container', {// 设置地图容器idviewMode: '3D', // 默认2d地图模式zoom: 12, // 初始化地图级别zooms: [5, 30],// 可以设置初始化当前位置// center: new AMap.LngLat(121.378945, 31.264033), // 上海// center: [118.118547, 24.475637], // 厦门center: [116.397428, 39.90923], // 北京resizeEnable: true})// 添加控件AMap.plugin(['AMap.ElasticMarker','AMap.Scale','AMap.ToolBar','AMap.HawkEye','AMap.MapType','AMap.Geolocation','AMap.Driving','AMap.AutoComplete','AMap.PlaceSearch','AMap.MarkerClusterer'],() => {map.addControl(new AMap.ElasticMarker())map.addControl(new AMap.Scale())map.addControl(new AMap.ToolBar())map.addControl(new AMap.HawkEye())map.addControl(new AMap.MapType())map.addControl(new AMap.Geolocation())})_this.map = map// 驾驶路线_this.toDriving()}).catch((e) => {console.log(e)})},toDriving () {const _this = thisconst driving = new _this.mapModule.Driving({map: this.map,panel: 'panel'})this.driving = drivingthis.driving.search(new _this.mapModule.LngLat(121.378945, 31.264033),new _this.mapModule.LngLat(121.504128, 31.318716),// [121.378945, 31.264033],// [121.504128, 31.318716],function (status, result) {// result 即是对应的驾车导航信息,相关数据结构文档请参考  https://lbs.amap.com/api/javascript-api/reference/route-search#m_DrivingResultif (status === 'complete') {console.log('绘制驾车路线完成', result)} else {console.log('获取驾车数据失败:' + result)}})},refreshDriving () {const _this = this_this.driving.search(new _this.mapModule.LngLat(121.378945, 32.265033),new _this.mapModule.LngLat(121.504128, 31.319716),function (status, result) {if (status === 'complete') {console.log('绘制驾车路线完成', result)} else {console.log('获取驾车数据失败:' + result)}})},}
}
</script>
<style lang='less' scoped>
#container {padding: 0px;margin: 0px;width: 100%;height: 900px;
}
</style>
  • 配置panel后会展示每个路段的信息,这里我们也可以根据它自定义样式。

  • 这是我们绘制完成的路线信息,相当于后端传给前端的数据,当我们前端有了这些数据之后就能想怎么做怎么做了!!

  • 待扩展:
  1. 该案例还有许多不能的功能活用,暂时需要大家自行看官方文档了解每一个字段
  2. 知识延伸:使用时需要考虑经纬度没有值时怎么处理
  3. 知识延伸:实时获取用户经纬度,实时绘制路线
  • 实例文档:

示例文档:位置经纬度 + 驾车规划路线-驾车路线规划-示例中心-JS API 2.0 示例 | 高德地图API

  • 接口文档如下:

接口文档:参考手册-地图 JS API 2.0 | 高德地图API

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/176847.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ubuntu操作系统的docker更换存储目录

前言 要将Docker的存储目录更改为/home/docker&#xff0c;你需要进行以下步骤&#xff1a; 目录 前言1、停止Docker服务2、创建新的存储目录3、编辑Docker配置文件4、启动Docker服务5、验证更改 1、停止Docker服务 首先停止Docker守护进程&#xff0c;可以使用以下命令&…

C#中.NET Framework 4.8控制台应用通过EF访问已建数据库

目录 一、创建.NET Framework 4.8控制台应用 二、建立数据库 1. 在SSMS中建立数据库Blogging 2.在VS上新建数据库连接 三、安装EF程序包 四、自动生成EF模型和上下文 1.Blog.cs类的模型 2.Post.cs类的模型 3.BloggingContext.cs数据库上下文 五、编写应用程序吧 我们…

CCNA课程实验-13-PPPoE

目录 实验条件网络拓朴需求 配置实现基础配置模拟运营商ISP配置ISP的DNS配置出口路由器OR基础配置PC1基础配置 出口路由器OR配置PPPOE拨号创建NAT(PAT端口复用) PC1测试结果 实验条件 网络拓朴 需求 OR使用PPPoE的方式向ISP发送拨号的用户名和密码&#xff0c;用户名&#xf…

java入门,从CK导一部分数据到mysql

一、需求 需要从生产环境ck数据库导数据到mysql&#xff0c;数据量大约100w条记录。 二、处理步骤 1、这里的关键词是生产库&#xff0c;第二就是100w条记录。所以处理数据的时候就要遵守一定的规范。首先将原数据库表进行备份&#xff0c;或者将需要导出的数据建一张新的表了…

从0开始python学习-32.pytest.mark()

目录 1. 用户自定义标记 1.1 注册标记​编辑 1.2 给测试用例打标记​编辑 1.3 运行标记的测试用例 1.4 运行多个标记的测试用例 1.5 运行指定标记以外的所有测试用例 2. 内置标签 2.1 skip &#xff1a;无条件跳过&#xff08;可使用在方法&#xff0c;类&#xff0c;模…

HashMap之扩容原理

HashMap 数据结构为 数组链表&#xff08;JDk1.7&#xff09;&#xff0c;JDK1.8中增加了红黑树&#xff0c;其中&#xff1a;链表的节点存储的是一个 Entry 对象&#xff0c;每个Entry 对象存储四个属性&#xff08;hash&#xff0c;key&#xff0c;value&#xff0c;next&…

uniapp开发ios上线(在win环境下使用三方)

苹果 1、win环境下无法使用苹果os编译器所以使用第三方上传工具&#xff0c;以下示例为 初雪云 &#xff08;单次收费&#xff0c;一元一次&#xff09; 初雪云&#xff08;注册p12证书&#xff09;&#xff1a;https://www.chuxueyun.com/#/pages/AppleCertificate 苹果开发者…

Linux 之 MakeFile

MakeFile 前言MakeFile基本介绍MakeFile介绍MakeFile文件命名Makefile编写规则MakeFile的执行步骤 MakeFilemakefile组成元素makefile显示规则makefile隐晦规则伪目标(标签与文件冲突问题) makefile变量定义makefile中的运算符和特殊变量 makefile文件指示makefile注释 makefil…

基于SSM的药店药品销售系统

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;Vue 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#xff1a;是 目录…

23款奔驰E300L升级几何多光束大灯 自适应远近功能

奔驰新款E300L升级几何多光束大灯&#xff0c;单侧的LED头灯分别由84颗独立的LED光源组成&#xff0c;与风挡玻璃上的立体摄像机配合&#xff0c;每秒钟可对路况进行100次扫描&#xff0c;针对不同的路况和驾驶状态&#xff0c;智能调整84个独立光源 几何多光束大灯每侧大灯都拥…

HPC 工作负载管理 —— IBM Spectrum LSF Suite

全面的工作负载管理解决方案&#xff0c;通过增强用户和管理员体验以及实现规模性能来简化 HPC。 IBM Spectrum LSF Suites 是面向分布式高性能计算 (HPC) 的工作负载管理平台和作业调度程序。基于 Terraform 的自动化现已可用&#xff0c;该功能可在 IBM Cloud 上为基于 IBM …

Niushop单商户及多商户v5商城系统第三方商业插件cps联盟视频购物及多包装库存转换的安装

一、后端安装 把video文件夹直接上传到addon目录下即可登录后台&#xff0c;设置->系统维护->插件管理->未安装插件&#xff0c;找到插件直接安装即可 3.在营销->营销中心->营销活动&#xff0c;找到视频列表这个插件&#xff0c;点击进去配置视频即可 4.装…