位置: IT常识 - 正文

在Vue中使用高德地图(vue调用高德js)

编辑:rootadmin
在Vue中使用高德地图 在Vue中使用高德地图一、如何在Vue中引入基础高德地图1、步骤一:注册并登录高德地图开放平台,申请密钥2、步骤二:安装高德地图加载器3、封装一个自定义地图组件,并初始化地图二、根据关键词搜索,并定位到搜索的位置三、添加放大缩小地图、转盘四、点击地图获取经纬度五、地图上绘制标记点、圆形、曲线、矩形和多边形等,及其绘制清除六、总结一、如何在Vue中引入基础高德地图

推荐整理分享在Vue中使用高德地图(vue调用高德js),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:vue调用高德js,vue3使用高德地图,vue调用高德地图实现导航,vue调用高德js,vue调用高德地图实现导航,vue中使用高德地图安全性问题,vue中使用高德地图首次进入地图页面不显示,vue中使用高德地图首次进入地图页面不显示,内容如对您有帮助,希望把文章链接给更多的朋友!

根据官网提示,在Web端,我们需要高德地图加载器:npm i @amap/amap-jsapi-loader -S

注意: * 此教程适用于Web端,移动端还未尝试,感兴趣的或者有需要的可单独联系我 * @amap/amap-jsapi-loader加载器npm地址

1、步骤一:注册并登录高德地图开放平台,申请密钥

高德地图开放平台 操作步骤如下图:

2、步骤二:安装高德地图加载器npm i @amap/amap-jsapi-loader -S3、封装一个自定义地图组件,并初始化地图<template> <!-- 百度地图 --> <div id="bai-du-map"> <!-- 技术支持和联系方式 --> </div></template><script>import AMapLoader from "@amap/amap-jsapi-loader";// 设置安全密钥window._AMapSecurityConfig = { securityJsCode: '安全密钥',}export default { data() { return { map : null, mouseTool : null, overlays : [], auto : null, placeSearch : null, } }, methods : { initMap() { AMapLoader.load({ "key": "申请好的Web端开发者Key,首次调用 load 时必填", "version": "2.0", // 指定要加载的 JSAPI 的版本,缺省时默认为 1.4.15 "plugins": [地图用到的插件], // 需要使用的的插件列表,如比例尺'AMap.Scale'等 }).then((AMap)=>{ // 初始化地图 this.map = new AMap.Map('bai-du-map',{ viewMode : "2D", // 是否为3D地图模式 zoom : 13, // 初始化地图级别 center : [113.65553,34.748764], //中心点坐标 郑州 resizeEnable: true }); }).catch(e => { console.log(e); }); }};</script><style scoped>#bai-du-map { overflow: hidden; width: 100%; height: 100%; margin: 0; font-family: "微软雅黑";}</style><style>/* 隐藏高德logo */.amap-logo { display: none !important;}/* 隐藏高德版权 */.amap-copyright { display: none !important;}</style>在Vue中使用高德地图(vue调用高德js)

注意点:

2021年起,高德地图必须使用安全密钥 即是

window._AMapSecurityConfig = { securityJsCode: '安全密钥',}

二、根据关键词搜索,并定位到搜索的位置<template> <!-- 百度地图 --> <div id="bai-du-map"> <!-- 技术支持和联系方式 --> </div></template><script>import AMapLoader from "@amap/amap-jsapi-loader";window._AMapSecurityConfig = { // 设置安全密钥 securityJsCode: '安全密钥',}export default { props : ["iptId"], data() { return { map : null, mouseTool : null, overlays : [], auto : null, placeSearch : null, } }, methods : { initMap() { AMapLoader.load({ "key": "密钥", // 申请好的Web端开发者Key,首次调用 load 时必填 "version": "2.0", // 指定要加载的 JSAPI 的版本,缺省时默认为 1.4.15 "plugins": ["AMap.AutoComplete","AMap.PlaceSearch"], // 需要使用的的插件列表,如比例尺'AMap.Scale'等 // "plugins": [], // 需要使用的的插件列表,如比例尺'AMap.Scale'等 }).then((AMap)=>{ this.map = new AMap.Map('bai-du-map',{ viewMode : "2D", // 是否为3D地图模式 zoom : 13, // 初始化地图级别 center : [113.65553,34.748764], //中心点坐标 郑州 resizeEnable: true }); this.auto = new AMap.AutoComplete({ input : this.iptId // 搜索框的id }); this.placeSearch = new AMap.PlaceSearch({ map: this.map, panel: "panel", // 结果列表将在此容器中进行展示。 // city: "010", // 兴趣点城市 autoFitView: true, // 是否自动调整地图视野使绘制的 Marker点都处于视口的可见范围 extensions: 'base' //返回基本地址信息 }); this.auto.on("select", this.select);//注册监听,当选中某条记录时会触发 }).catch(e => { console.log(e); }); }, select(e) { this.placeSearch.setCity(e.poi.adcode); this.placeSearch.search(e.poi.name); //关键字查询查询 } }, mounted() { this.initMap(); },};</script>

三、添加放大缩小地图、转盘<template> <!-- 百度地图 --> <div id="bai-du-map"> <!-- 技术支持和联系方式 --> </div></template><script>import AMapLoader from "@amap/amap-jsapi-loader";window._AMapSecurityConfig = { // 设置安全密钥 securityJsCode: '安全密钥',}export default { props : ["iptId"], data() { return { map : null, mouseTool : null, overlays : [], auto : null, placeSearch : null, } }, methods : { initMap() { AMapLoader.load({ "key": "密钥", // 申请好的Web端开发者Key,首次调用 load 时必填 "version": "2.0", // 指定要加载的 JSAPI 的版本,缺省时默认为 1.4.15 "plugins": ["AMap.Scale","AMap.ToolBar","AMap.ControlBar","AMap.MouseTool","AMap.MapType","AMap.HawkEye"], // 需要使用的的插件列表,如比例尺'AMap.Scale'等 // "plugins": [], // 需要使用的的插件列表,如比例尺'AMap.Scale'等 }).then((AMap)=>{ this.map = new AMap.Map('bai-du-map',{ viewMode : "2D", // 是否为3D地图模式 zoom : 13, // 初始化地图级别 center : [113.65553,34.748764], //中心点坐标 郑州 resizeEnable: true }); this.map.addControl(new AMap.Scale()); // 添加左下角的比例尺 let toolBar = new AMap.ToolBar({ position: { bottom: '210px', right: '35px' } }); let controlBar = new AMap.ControlBar({ position: { bottom: '280px', right: '10px', }, }); this.map.addControl(toolBar); // 添加右下角的放大缩小 this.map.addControl(controlBar); // 方向盘 this.map.addControl(new AMap.MapType()); // 添加右上角的标准图和卫星图 和路况 this.map.addControl(new AMap.HawkEye()); // 添加地图放大镜 }).catch(e => { console.log(e); }); }, }, mounted() { this.initMap(); },};</script>四、点击地图获取经纬度initMap() { AMapLoader.load({ "key": "key", // 申请好的Web端开发者Key,首次调用 load 时必填 "version": "2.0", // 指定要加载的 JSAPI 的版本,缺省时默认为 1.4.15 "plugins": ["AMap.Scale","AMap.ToolBar","AMap.AutoComplete","AMap.PlaceSearch","AMap.ControlBar","AMap.MouseTool"], // 需要使用的的插件列表,如比例尺'AMap.Scale'等 // "plugins": [], // 需要使用的的插件列表,如比例尺'AMap.Scale'等 }).then((AMap)=>{ // 鼠标点击获取经纬度 this.map.on('click', function(e) { console.log("经度",e.lnglat.getLng()) console.log("纬度",e.lnglat.getLat()) }); }).catch(e => { console.log(e); }); },五、地图上绘制标记点、圆形、曲线、矩形和多边形等,及其绘制清除<template> <!-- 百度地图 --> <div id="bai-du-map"> <!-- 技术支持和联系方式 --> </div></template><script>import AMapLoader from "@amap/amap-jsapi-loader";window._AMapSecurityConfig = { // 设置安全密钥 securityJsCode: '安全密钥',}export default { data() { return { map : null, mouseTool : null, overlays : [], auto : null, placeSearch : null, } }, methods : { initMap() { AMapLoader.load({ "key": "密钥", // 申请好的Web端开发者Key,首次调用 load 时必填 "version": "2.0", // 指定要加载的 JSAPI 的版本,缺省时默认为 1.4.15 "plugins": ["AMap.Scale","AMap.ToolBar","AMap.AutoComplete","AMap.PlaceSearch","AMap.ControlBar","AMap.MouseTool"], // 需要使用的的插件列表,如比例尺'AMap.Scale'等 // "plugins": [], // 需要使用的的插件列表,如比例尺'AMap.Scale'等 }).then((AMap)=>{ this.map = new AMap.Map('bai-du-map',{ viewMode : "2D", // 是否为3D地图模式 zoom : 13, // 初始化地图级别 center : [113.65553,34.748764], //中心点坐标 郑州 resizeEnable: true }); this.mouseTool = new AMap.MouseTool(this.map); // 监听draw事件可获取画好的覆盖物 this.mouseTool.on('draw',function(e){ this.overlays.push(e.obj); }.bind(this)) }).catch(e => { console.log(e); }); }, draw(type) { switch(type){ case 'marker':{ this.mouseTool.marker({ //同Marker的Option设置 }); break; } case 'polyline':{ this.mouseTool.polyline({ strokeColor:'#80d8ff' //同Polyline的Option设置 }); break; } case 'polygon':{ this.mouseTool.polygon({ fillColor:'#00b0ff', strokeColor:'#80d8ff' //同Polygon的Option设置 }); break; } case 'rectangle':{ this.mouseTool.rectangle({ fillColor:'#00b0ff', strokeColor:'#80d8ff' //同Polygon的Option设置 }); break; } case 'circle':{ this.mouseTool.circle({ fillColor:'#00b0ff', strokeColor:'#80d8ff' //同Circle的Option设置 }); break; } } }, }, mounted() { this.initMap(); },};</script>

清除绘制

// 清除 // map.remove(overlays) // overlays = []; // 或者 // mouseTool.close(true)//关闭,并清除覆盖物六、总结

一般的,使用高德地图,不需要参考其他博主写的,基本上就是安装一个加载器@amap/amap-jsapi-loader,然后参考高德地图开放webjs文档,就完全可以自己实现业务需求

高德地图开放webjs文档 ,这个API文档写的很好,包括了针对于Vue和React的基本引用,以及相关地图需求都有API满足

本文链接地址:https://www.jiuchutong.com/zhishi/296000.html 转载请保留说明!

上一篇:如何在 Vue 3 中使用 Ant Design(vue3怎么样)

下一篇:Chrome浏览器快捷键大全(chrome浏览器快捷方式)

  • 怎样用百度做推广(如何在百度推广项目)

    怎样用百度做推广(如何在百度推广项目)

  • 微信加黑怎么解除(微信加黑了)

    微信加黑怎么解除(微信加黑了)

  • 小米手机查看激活时间(小米手机查看激活码)

    小米手机查看激活时间(小米手机查看激活码)

  • 微信视频号如何发作品(微信视频号如何发到朋友圈)

    微信视频号如何发作品(微信视频号如何发到朋友圈)

  • 小米摄像头能当电脑摄像头吗(小米摄像头能当网关用吗)

    小米摄像头能当电脑摄像头吗(小米摄像头能当网关用吗)

  • oppo pbbm30是什么手机(OPPOPBBM30是什么)

    oppo pbbm30是什么手机(OPPOPBBM30是什么)

  • 拨号码时显示虚拟运营商什么意思(手机号码拨出去怎么显示虚拟号码)

    拨号码时显示虚拟运营商什么意思(手机号码拨出去怎么显示虚拟号码)

  • 魅族17手机有呼吸灯吗(魅族手机有呼叫转移功能吗)

    魅族17手机有呼吸灯吗(魅族手机有呼叫转移功能吗)

  • 手机120hz和60hz有区别么(感觉手机120hz和60hz没什么区别)

    手机120hz和60hz有区别么(感觉手机120hz和60hz没什么区别)

  • 副屏怎么设置(win11副屏怎么设置)

    副屏怎么设置(win11副屏怎么设置)

  • 台式电脑如何安装微信(台式电脑如何安装显卡)

    台式电脑如何安装微信(台式电脑如何安装显卡)

  • 爱奇艺下载的视频在哪(爱奇艺下载的视频怎么传到u盘)

    爱奇艺下载的视频在哪(爱奇艺下载的视频怎么传到u盘)

  • ae跟pr有什么区别(pr跟ae区别)

    ae跟pr有什么区别(pr跟ae区别)

  • 淘宝值在哪里查看(如何查看淘宝值)

    淘宝值在哪里查看(如何查看淘宝值)

  • 网易云音乐听歌识曲在哪(网易云音乐听歌背景怎么换)

    网易云音乐听歌识曲在哪(网易云音乐听歌背景怎么换)

  • ppt怎么设置自动保存(ppt怎么设置自动播放音乐)

    ppt怎么设置自动保存(ppt怎么设置自动播放音乐)

  • oppoace屏幕多大(oppoace多大尺寸)

    oppoace屏幕多大(oppoace多大尺寸)

  • 苹果x摄像头传感器型号(摄像头像苹果x的手机)

    苹果x摄像头传感器型号(摄像头像苹果x的手机)

  • 为什么快手打开闪退(为什么快手打开就是显示精选)

    为什么快手打开闪退(为什么快手打开就是显示精选)

  • 拼多多怎么删自己评价(拼多多怎么删自己的匿名评价)

    拼多多怎么删自己评价(拼多多怎么删自己的匿名评价)

  • 淘宝优惠券误删恢复(淘宝优惠券误删怎么找回)

    淘宝优惠券误删恢复(淘宝优惠券误删怎么找回)

  • 滴滴不派单是什么原因(滴滴司机不派单)

    滴滴不派单是什么原因(滴滴司机不派单)

  • sedsvc是什么程序(mssecsvc是什么进程)

    sedsvc是什么程序(mssecsvc是什么进程)

  • oppor11手机录屏在哪(oppoR11手机录屏没有声音怎么设置)

    oppor11手机录屏在哪(oppoR11手机录屏没有声音怎么设置)

  • 15000 字的 SQL 语句大全 第一部分(sql1000*1.0)

    15000 字的 SQL 语句大全 第一部分(sql1000*1.0)

  • 减免税流程
  • 小规模纳税人要做账吗
  • 管理费用中的税金包括哪些
  • 企业所得税季度申报时间
  • 如何在网上查询发票
  • 商品盘点短缺和溢余的核算
  • 接受原材料投资的会计处理
  • 大病医疗专项附加扣除标准举例
  • 投标公司资质借用计入什么会计科目?
  • 暂估进项税额
  • 工业结转成本方法有哪些?
  • 金税三期个人所得税税率
  • 发票章丢失风险大吗
  • 房产印花税缴纳
  • 买二手面包注意事项
  • 拿到进项票下一步做啥
  • 体检发票开公司还是个人
  • 航天信息服务费的会计分录
  • 外包服务费税率是多少
  • 商业承兑汇票适用于
  • 非同一控制下企业合并商誉的计算
  • 1697508432
  • t3不能增加二级科目
  • 房屋租赁费属于什么服务
  • 股利如何算
  • 拆迁安置房如何更名
  • iphone有没有
  • 公司章程认缴时效是多久
  • 付款后收到发票怎么写摘要
  • 在windows7操作具有
  • bigfile是什么意思
  • linux中常用的文件类型有哪些如何区分
  • 代理出口退税款退到哪
  • 企业合并分立
  • ThinkPHP中html:list标签用法分析
  • 工业企业出租房屋的租金收入应计入
  • 项目差旅费能计入项目费用吗
  • vue路由跳转的三种方法
  • 2022年终总结
  • reprovision签名失败error
  • 出口退税管理类别四类
  • 银行汇票和银行承兑汇票的区别
  • 资质使用费怎么收
  • 股份有限公司个人股份
  • 其他综合收益算不算所有者权益
  • 投标报名费如何缴纳
  • 其他收益属于利得吗
  • 补缴社保的利息会进入个人账户里吗
  • 利息收入如何做分录
  • 低值易耗品属于流动资产吗
  • 支付给烟农的价格怎么算
  • 结转收入会计分录怎么做
  • 佣金付给别人公司合法吗
  • 每月可以先报税再缴费吗
  • 什么是企业合并?
  • 营改增后建筑业开票规定
  • 饭店会计做账流程
  • sqlserver函数大全
  • win8不好吗
  • 一劳永逸的方法是什么
  • 如何解决叛逆心理
  • win8如何切换用户登录
  • cocos2dx schedule
  • Unity-Shader Sublime 自制shader提示插件
  • ruby 递归
  • Python连接access数据库
  • jquery validate表单校验html
  • node socket hang up
  • android打开相机
  • js数组操作方法
  • jquery示例
  • 全面解析日本失去的十年
  • jq获取table元素
  • jquery将文本框设置为只读
  • 划拨土地转让需要交什么税
  • 消费税抵扣范围包括哪些
  • 预缴纳税申报个税怎么算
  • 广东电子税务局电话
  • 企业所得税的改革与完善
  • 港股印花税什么时候下调
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设