当前位置: 首页 > news >正文

Vue接入高德地图并实现基本的路线规划功能

目录

一、申请密钥

二、安装依赖

三、代码实现

四、运行截图

五、官方文档


一、申请密钥

登录高德开放平台,点击我的应用,先添加新应用,然后再添加Key。

如图所示填写对应的信息,系统就会自动生成。

二、安装依赖

npm i @amap/amap-jsapi-loader --save

三、代码实现

找到public目录下的index.html文件,把刚才申请好的2个密钥分别粘贴进去,第一个securityJsCode是填入安全密钥,第二个红框是填入Key。

完整代码:

<!DOCTYPE html>
<html lang=""><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1.0"><link rel="icon" href="<%= BASE_URL %>favicon.ico"><title><%= htmlWebpackPlugin.options.title %></title><script type="text/javascript">window._AMapSecurityConfig = {securityJsCode: '申请的安全密钥',}</script><script type="text/javascript" src="https://webapi.amap.com/maps?v=2.0&key=申请的Key&plugin=AMap.Driving"></script><link rel="stylesheet" href="https://a.amap.com/jsapi_demos/static/demo-center/css/demo-center.css" /><script src="https://a.amap.com/jsapi_demos/static/demo-center/js/demoutils.js"></script><script type="text/javascript" src="https://cache.amap.com/lbs/static/addToolbar.js"></script></head><body><noscript><strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div><!-- built files will be auto injected --></body>
</html>

直接把下面代码完整的拷贝进去,修改一下经纬度信息就行了,可以当成一个vue组件来使用,完整代码:

<template><div><div id="container"></div><div id="panel"></div></div></template><script>export default {name: 'HomeView',data(){return{//此处不声明 map 对象,可以直接使用 this.map赋值或者采用非响应式的普通对象来存储。//map:null,}},mounted(){//DOM初始化完成进行地图初始化this.initMap();},methods:{initMap() {//基本地图加载var map = new AMap.Map("container", {resizeEnable: true,center: [	116.324887,40.003069],//地图中心点zoom: 13 //地图显示的缩放级别});//构造路线导航类var driving = new AMap.Driving({map: map,panel: "panel"});// 根据起终点经纬度规划驾车导航路线driving.search(new AMap.LngLat(116.303073,39.988185), new AMap.LngLat(	116.395204,39.994091), function(status, result) {// result 即是对应的驾车导航信息,相关数据结构文档请参考  https://lbs.amap.com/api/javascript-api/reference/route-search#m_DrivingResultif (status === 'complete') {log.success('绘制驾车路线完成')} else {log.error('获取驾车数据失败:' + result)}});}},
}
</script>
<style  scoped>
#container{padding:0px;margin: 0px;width: 100%;height: 800px;
}
#panel {position: fixed;background-color: white;max-height: 90%;overflow-y: auto;top: 10px;right: 10px;width: 280px;
}
#panel .amap-call {background-color: #009cf9;border-top-left-radius: 4px;border-top-right-radius: 4px;
}
#panel .amap-lib-driving {border-bottom-left-radius: 4px;border-bottom-right-radius: 4px;overflow: hidden;
}
</style>

四、运行截图

直接运行项目,效果如下:

大功告成!

五、官方文档

还有很多其他的功能,可以自行查看官方文档:https://lbs.amap.com/api/javascript-api/guide/abc/prepare

http://www.lryc.cn/news/442275.html

相关文章:

  • linux网络编程4
  • Spring模块详解Ⅳ(Spring ORM和Spring Transaction)
  • 深度图可视化显示(kitti)
  • 【Kubernetes知识点】HPA如何控制不同的资源实现自动扩缩容?
  • adb devices不显示连接设备怎么解决
  • 经典sql题(一)求连续登录不少于三天用户
  • 2024java面试-软实力篇
  • 「OC」present和push操作区别以及混合推出的实现
  • 【高分系列卫星简介】
  • 八股文-多线程、并发
  • xtu oj 折纸
  • 传知代码-多示例AI模型实现病理图像分类
  • Java知识点小结3:内存回收
  • LeetCode746:使用花费最小爬楼梯
  • 列表、数组排序总结:Collections.sort()、list.sort()、list.stream().sorted()、Arrays.sort()
  • 【资料分析】刷题日记3
  • 基于SpringBoot+Vue的商场停车场管理系统
  • 4. 密码协议
  • 基于嵌入式的智能物流柜( 触摸屏/0.96寸oled屏)
  • VSCode创建C++项目和编译多文件
  • 7个提升网站分页体验的 CSS 和 JavaScript 代码片段
  • C++——用带有默认参数的函数实现,求两个整数或三个整数中的最大数。
  • 对商品分类系统的若干问题的思考
  • javascript中Number 类型 在实际开发中常用的一些操作方法
  • 部分解决FDTD安装后,matlab指令fopen报错
  • [python3] 处理函数的重试
  • 鸿蒙开发之ArkTS 界面篇 一
  • 嵌入式Linux学习笔记(6)-线程处理、线程同步、线程池(c语言实现)
  • 【HTTP】请求“报头”(Host、Content-Length/Content-Type、User-Agent(简称 UA))
  • 【刷题日记】43. 字符串相乘