位置: 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浏览器快捷方式)

  • 微信怎么查看聊天记录(微信怎么查看聊天记录占用空间)

    微信怎么查看聊天记录(微信怎么查看聊天记录占用空间)

  • 西安一码通如何查看家庭成员健康嘛(西安一码通如何切换用户)

    西安一码通如何查看家庭成员健康嘛(西安一码通如何切换用户)

  • 华为nova6上市日期(华为nova6什么时候上市的,上市价格)

    华为nova6上市日期(华为nova6什么时候上市的,上市价格)

  • 微信怎么获取健康码(微信怎么获取健康二维码)

    微信怎么获取健康码(微信怎么获取健康二维码)

  • ipad自动跳屏怎么解决(ipad屏幕自动跳转)

    ipad自动跳屏怎么解决(ipad屏幕自动跳转)

  • 微信来电话不响怎么办(微信来电话不响了)

    微信来电话不响怎么办(微信来电话不响了)

  • 电话卡欠费三个月会自动注销吗(电话卡欠费三个月月租会叠加么)

    电话卡欠费三个月会自动注销吗(电话卡欠费三个月月租会叠加么)

  • 安卓微信如何深色模式(安卓微信如何设置深色模式)

    安卓微信如何深色模式(安卓微信如何设置深色模式)

  • 抖音门店和小店的区别(抖音门店和小店哪个好)

    抖音门店和小店的区别(抖音门店和小店哪个好)

  • 网页文件无法下载到指定文件夹(网页文件无法下载怎么办)

    网页文件无法下载到指定文件夹(网页文件无法下载怎么办)

  • oppor11splus有没有nfc(oppor11splus有没有nfc功能)

    oppor11splus有没有nfc(oppor11splus有没有nfc功能)

  • 乐心手环启动键在哪里(乐心手环启动键失灵)

    乐心手环启动键在哪里(乐心手环启动键失灵)

  • opporeno手机微信视频怎么美颜(opporeno手机微信怎么分身)

    opporeno手机微信视频怎么美颜(opporeno手机微信怎么分身)

  • 大众点评怎么私信别人(大众点评怎么私聊商家)

    大众点评怎么私信别人(大众点评怎么私聊商家)

  • 如何制作考勤表格(如何制作考勤表视频)

    如何制作考勤表格(如何制作考勤表视频)

  • win10的运行怎么打开(win10的运行怎么打开秘密潜入2游戏)

    win10的运行怎么打开(win10的运行怎么打开秘密潜入2游戏)

  • 小米手环4防热水么(小米手环防热水吗)

    小米手环4防热水么(小米手环防热水吗)

  • 微店买东西可以退货吗(微店买东西可以用支付宝吗)

    微店买东西可以退货吗(微店买东西可以用支付宝吗)

  • 荣耀v20快充多少w(荣耀v20快充多少时间)

    荣耀v20快充多少w(荣耀v20快充多少时间)

  • hdmi1.4和2.0的区别(hdmi1.4和2.0的区别 电视机)

    hdmi1.4和2.0的区别(hdmi1.4和2.0的区别 电视机)

  • beats solo3和studio3的区别(beats solo3和studio3哪个贵)

    beats solo3和studio3的区别(beats solo3和studio3哪个贵)

  • 苹果手机微信文件夹在哪里(苹果手机微信文稿与数据怎么清理)

    苹果手机微信文件夹在哪里(苹果手机微信文稿与数据怎么清理)

  • 无线耳机怎么看电量(无线耳机怎么看剩余电量)

    无线耳机怎么看电量(无线耳机怎么看剩余电量)

  • 无人售货机怎么微信支付(无人售货机怎么加盟)

    无人售货机怎么微信支付(无人售货机怎么加盟)

  • 企业如何帮员工交公积金
  • 购入原材料计划成本
  • 现金流量套期与什么无关
  • 怎么恢复自然人个人信息
  • 无偿使用场地涉及的问题
  • 哪些费用的进项税可以抵扣
  • 培训发生的差旅费怎么记账
  • 电子发票限额多了怎么办
  • 其他流动资产对应科目
  • 一般纳税人增值税优惠政策
  • 主表第17栏应该等于定期
  • 自产的产品
  • 分期付款方式销售货物什么时候确认收入
  • 租赁设备出口怎么处理?
  • 集团内部拨付的研发经费如何核算?
  • 长期借款按月计提
  • 船期延迟出口开票开在了上个月会计处理是怎样的?
  • 没有税收编码的发票怎么开具红字票
  • 进出口货物买卖合同
  • 简易征收红冲报税方式是什么?
  • 小微企业增值税减免账务处理
  • 发票一直报送中,开不了发票
  • 水利基金的计税依据是含税收入还是不含税收入
  • 建筑企业异地预缴增值税流程
  • 长期应付款怎么冲减
  • 待抵扣进项税额借贷方向
  • 增值税普通发票有什么用
  • 固定资产报废如何计算
  • cpu天梯图2022最新版1240p
  • 青岛酒店式公寓出租
  • 二级资本债记哪个科目
  • gain_trickler_3202.exe 进程查询 gain_trickler_3202进程是什么文件
  • u盘格式化技巧
  • 有哪些常见的不可数名词英语
  • php单例模式的简写是什么
  • 开源项目排行榜
  • 人工智能机器人
  • 营业外支出的会计科目
  • 给法院交的诉讼费没有发票怎么入账
  • 工资表中可以出现减号的情况吗
  • python中input转换
  • 事业单位财政拨款收入会计分录
  • 资产负债表中其他应收款的计算公式
  • 采用权益法核算的长期股权投资时,对于被投资企业
  • 施工企业结算单能不能入账
  • 母公司给子公司注资要交印花税吗
  • 购买的固定资产退货怎么做账
  • 企业在建工程领用自产应税消费品成本为10000元
  • 租写字楼可以办个体户吗
  • 私人贴现做账
  • 其他应收款平行记账科目
  • 营改增后建筑业增值税税率
  • 总账建账要遵循的原则
  • 会计账薄按其外形特征不同可以分为
  • 金融企业借款费用计入
  • sql sever使用教程
  • sql server m1
  • win10系统开机出现
  • 解析包出现错误无法安装怎么办
  • 如何用u盘装系统盘
  • win10怎么关闭securboot
  • mac如何强制关机开机
  • xp系统1
  • 在linux中使用ssh远程调试后目标板的输出在哪里
  • django 不同app间model引用
  • 下列关于js的说法正确的是
  • nodejs教学视频
  • node.js windows
  • python常见的格式化输出小结
  • 基于javascript的毕业设计选题
  • jquery自定义方法
  • python中fd
  • python结合了什么的高级语言
  • 应付和未付的区别
  • 车辆购置税税率多少
  • 税务局工会
  • 农业企业制造费用包括哪些
  • 成品油进货
  • 涠洲岛船票售完
  • 国家土地征收管理办法
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设